相关疑难解决方法(0)

使环境变量在ENDLOCAL中生效

我有一个批处理文件,通过一系列中间变量计算变量:

@echo off
setlocal

set base=compute directory
set pkg=compute sub-directory
set scripts=%base%\%pkg%\Scripts

endlocal

%scripts%\activate.bat
Run Code Online (Sandbox Code Playgroud)

最后一行的脚本没有被调用,因为它来自endlocal,它破坏了scripts环境变量,但它必须在endlocal之后,因为它的目的是设置一堆其他环境变量供用户使用.

如何调用脚本的目的是设置永久环境变量,但是谁的位置是由临时环境变量决定的?

我知道我可以在endlocal之前创建一个临时的批处理文件,并在endlocal之后调用它,如果没有别的东西可以解决,我会这样做,但我想知道是否有一个不那么令人讨厌的解决方案.

batch-file environment-variables

25
推荐指数
3
解决办法
2万
查看次数

FFMPEG - 将FFPROBE的持续时间输出存储为变量

我想在(t = 0,0)之间的"enable ="字段中使用视频的持续时间,以确保每次以视频持续时间的1/3覆盖图像.

根据FFMPEG在其网站上的信息,我需要使用它

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
Run Code Online (Sandbox Code Playgroud)

它确实返回一个值,但我似乎无法将其设置为可用的变量,我已经尝试过使用

set duration=ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
Run Code Online (Sandbox Code Playgroud)

然后通过%duration%引用它,但没有运气.

有没有办法做到这一点,我做错了什么?

谢谢您的帮助.

video command-line cmd ffmpeg

2
推荐指数
1
解决办法
1280
查看次数