这个问题可能是不必要的,因为我可能一直在寻找错误的标准。我觉得这很容易,但我找不到答案。我使用批处理文件自动安装我的工作,设置文件夹权限,在这里复制文件,然后静默运行程序,删除旧文件等。批处理文件包含大量重复,我想大大整理它们以便于管理。我决定将重复的命令和文件夹位置设置为变量,然后使用它们。这一切都很好,但我将变量添加为LIST,看起来像垃圾,我相信我可以在一个句子中加载它们而不是每个新行。这就是我的意思......
circle = display.newCircle(60, 70, 20 );
physics.addBody(circle, "dynamic",{density= 1.0, friction = 1.0, bounce = 1, radius = 10})
等等......
所以,我的批次现在看起来像这样
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
我想要做的就是这样(如果批处理文件等,减少长度。)
%dir1%
%killtask%
%config%
答案 0 :(得分:1)
(我对这个问题的评论总结):
检查你的变量!管道(|
)或重定向(>
)之类的字符会更改行的解释方式。使用此语法进行更正:
set "killtask=taskkill /im someprog.exe /f >nul 2>&1"
(注意引号及其位置)
您可以使用&
调用多个命令:
echo hello&echo world.
使用复杂的变量,这可能会以意想不到的方式失败/工作。试试
(%dir1%)&(%killtask%)&(%config%)
以便重定向和管道保持其预期的命令。