在批处理文件中处理设置变量的最佳方法

时间:2016-04-30 12:09:29

标签: variables batch-file

这个问题可能是不必要的,因为我可能一直在寻找错误的标准。我觉得这很容易,但我找不到答案。我使用批处理文件自动安装我的工作,设置文件夹权限,在这里复制文件,然后静默运行程序,删除旧文件等。批处理文件包含大量重复,我想大大整理它们以便于管理。我决定将重复的命令和文件夹位置设置为变量,然后使用它们。这一切都很好,但我将变量添加为LIST,看起来像垃圾,我相信我可以在一个句子中加载它们而不是每个新行。这就是我的意思......

circle = display.newCircle(60, 70, 20 );
physics.addBody(circle, "dynamic",{density= 1.0, friction = 1.0, bounce = 1, radius = 10})  

等等......

所以,我的批次现在看起来像这样

JOB1

set dir1=md c:\newfolder
set killtask=taskkill /im someprog.exe /f >nul 2>&1
set config=echo F| XCOPY %~dp0configfile3.cfg /y C:\newfolder

我想要做的就是这样(如果批处理文件等,减少长度。)

JOB1

%dir1%
%killtask%
%config%

1 个答案:

答案 0 :(得分:1)

(我对这个问题的评论总结):

检查你的变量!管道(|)或重定向(>)之类的字符会更改行的解释方式。使用此语法进行更正:

set "killtask=taskkill /im someprog.exe /f >nul 2>&1" 

(注意引号及其位置)

您可以使用&调用多个命令:

echo hello&echo world. 

使用复杂的变量,这可能会以意想不到的方式失败/工作。试试

(%dir1%)&(%killtask%)&(%config%)

以便重定向和管道保持其预期的命令。