相关疑难解决方法(0)

如何在遇到错误时终止批处理文件?

我有一个批处理文件,它使用不同的参数反复调用相同的可执行文件.如果其中一个调用返回任何级别的错误代码,如何使其立即终止?

基本上,我想要相当于MSBuild的ContinueOnError=false.

batch-file

270
推荐指数
6
解决办法
24万
查看次数

使用MS批处理文件将程序的输出分配给变量

我需要使用MS批处理文件将程序的输出分配给变量.

所以在GNU Bash shell我会用VAR=$(application arg0 arg1).我在Windows中使用批处理文件需要类似的行为.

有点像set VAR=application arg0 arg1.

cmd batch-file variable-assignment windows-console

269
推荐指数
6
解决办法
29万
查看次数

如何在Windows中的变量中获取命令的结果?

我希望将命令的结果作为Windows批处理脚本中的变量(请参阅如何在bash中获取bash脚本等效命令的结果).可以在.bat文件中使用的解决方案是首选,但也欢迎其他常见的Windows脚本解决方案.

windows scripting batch-file

120
推荐指数
6
解决办法
24万
查看次数

使用Windows批处理文件中的命令结果设置变量的值

Bash环境中工作时,要将变量的值设置为命令的结果,我通常会这样做:

var=$(command -args)
Run Code Online (Sandbox Code Playgroud)

where var是由命令设置的变量command -args.然后我可以访问该变量$var.

执行此操作的更常规方法几乎与每个Unix shell兼容:

set var=`command -args`
Run Code Online (Sandbox Code Playgroud)

也就是说,如何在Windows批处理文件中使用命令的结果设置变量的值?我试过了:

set var=command -args
Run Code Online (Sandbox Code Playgroud)

但我发现这var是设置command -args而不是命令的输出.

windows batch-file

98
推荐指数
4
解决办法
16万
查看次数

批量相当于Bash反引号

使用Bash时,我可以将一个命令的输出放到另一个命令中,如下所示:

my_command `echo Test`
Run Code Online (Sandbox Code Playgroud)

会是一样的

my_command Test
Run Code Online (Sandbox Code Playgroud)

(显然,这只是一个非实际的例子.)

我只是想知道你是否可以批量做同样的事情.

bash batch-file backticks

89
推荐指数
3
解决办法
4万
查看次数

将命令输出设置为变量(带管道)

您可以将命令的输出重定向到带管道的变量吗?

我没有尝试太多,因为我没有想到任何尝试,但我尝试了一种方法(有两种变化)......

例如:

echo Hello|set text=
Run Code Online (Sandbox Code Playgroud)

没有工作,也没有:

echo Hello | set text=
Run Code Online (Sandbox Code Playgroud)

我知道你可以用FOR命令轻松地做到这一点,但我认为用管子看起来会"更好".

如果你想知道,我没有特别的理由我问这个,除了我很好奇,我找不到答案.

batch-file

46
推荐指数
5
解决办法
15万
查看次数

将命令输出分配给批处理文件中的变量

我正在尝试将命令的输出分配给变量 - 例如,我正在尝试将当前的flash版本设置为变量.我知道这是错的,但这是我试过的:

set var = reg query hklm\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion>

要么

reg query hklm\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion >> set var

是的,你可以看到我有点失落.任何和所有的帮助表示赞赏!

registry variables flash cmd batch-file

38
推荐指数
2
解决办法
10万
查看次数

git在dockerfile中提交hash作为标签

如何在Dockerfile中添加git commit hash或任何其他动态推断值.

LABEL vcs-ref=$(git rev-parse --short HEAD)
Run Code Online (Sandbox Code Playgroud)

像这样的东西?

docker dockerfile docker-compose

12
推荐指数
1
解决办法
1362
查看次数

在VSTS上的Azure CLI任务中设置输出变量

我为实现这一非常简单的任务而疯狂。我需要在Visual Studio Team Services上的Azure CLI任务中设置一个Output Variable,因为Release定义中的下一个任务将根据该变量的值执行。
我写了这个简单的代码

call az extension add --name azure-cli-iot-ext
call echo ##vso[task.setvariable variable=iotEdgeExists;]$(az iot hub query -n $(iotHub) -q "select * from devices.modules where devices.deviceId ='$(iotEdge)'")
Run Code Online (Sandbox Code Playgroud)

确实有效,但不是预期的,实际上,当我在下一个Azure CLI任务中读取Ouput变量并尝试在屏幕上打印时,我得到了命令字符串而不是输出...

call echo"$(az iot hub query -n <IOT_HUB> -q "select * from devices.modules where devices.deviceId ='<IOT_EDGE>'")"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

azure azure-cli azure-devops azure-pipelines-release-pipeline azure-cli2

5
推荐指数
2
解决办法
3470
查看次数

FFMPEG 修剪视频的最后 3 秒

我正在尝试使用 FFMPEG 修剪/切断视频的最后 3 秒,但这确实令人头疼。

以下代码修剪但仅保留最后 3 秒。我不想保留 3 秒,我不需要那个,我想保留已删除的部分。

ffmpeg -sseof -3 -i input.mp4 output.mp4

有人可以帮我提供正确的代码吗?我还想请求一个批处理代码,该代码将自动修剪我文件夹中所有最后 3 秒的视频。谢谢您的帮助。

video ffmpeg

4
推荐指数
2
解决办法
8772
查看次数

如何使用Windows批处理文件获取Python位置?

我需要创建一个Windows批处理脚本,该脚本创建一个特定文件并将其移动到PYTHONPATH\Lib\distutils文件夹。

这是我正在尝试做的事情:

ECHO [build] >> distutils.cfg
ECHO compiler=mingw32 >> distutils.cfg
MOVE distutils.cfg PYTHONPATH\Lib\distutils
Run Code Online (Sandbox Code Playgroud)

但是,PYTHONPATH不存在,但是我知道可以在PATH其中设置Python位置。如何解析PATH和提取Python位置?

python path batch-file pythonpath

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

将桌面文件夹重定位到 OneDrive 后,%USERPROFILE%/Desktop 不再有效

由于 OneDrive 同步,我已将 Windows /Desktop 文件夹移动到其他位置。

桌面属性

结果,我指向的批处理和 Powershell 脚本%USERPROFILE%/Desktop不再起作用。有没有另一种方法可以在不硬编码新路径的情况下获取我的桌面位置?

windows powershell batch-file environment-variables special-folders

0
推荐指数
1
解决办法
949
查看次数