我无法弄清楚这个变量范围..继承人的代码。我一直在读书,但似乎无法指出它。我想复制一个文件4次,并在每次扩展文件名时连接一个名称。它会复制:牛,牛牛,牛牛等等。
set "hash = Cow"
call:filecreate "Cow","%hash%"
:filecreate
set "name = %~1"
for /l %%C in (1,1,4) do (
for /f %%a in ('xcopy "%filez%" "%desktop%" /H /Y /R /F') do (
ren "%desktop%\system.ini" "!name!"
)
set "name = !name! %~2"
)
goto:eof
答案 0 :(得分:3)
SPACES在SET
声明中非常重要。
set var = something
会将变量"var "
设置为" something"
set var=something
会将变量"var"
设置为"something"
(还要注意 - 拥有CALL
ed :filecreate
,批次会再次执行:filecreate
,因为它不会将标签识别为“程序结束”。您需要一个明确的GOTO :EOF
之后的CALL
如果您只想执行一次过程