问题是它正在调用原始的beamthemup2.bat文件,而不是复制的文件。
@ECHO OFF
for /d %%X in (*) do (
copy "beamthemup2.bat" "%%X"
@echo "%%X\beamthemup2.bat"
pause
call "%%X\beamthemup2.bat"
)
更新
这是第二个bat文件。它似乎正在复制并运行正确的批处理文件。这是问题所在。当运行上面的批处理文件时,%cd%返回第一个批处理文件的路径,但是如果我在我希望它复制到的文件夹中单独运行第二个文件,%cd%将返回正确的文件夹。
@ECHO OFF
for /r %%X in (*) do (
"c:\Program Files\7-Zip\7z.exe" a -tzip "%cd%" "%%X"
@ECHO %cd%
pause
)
答案 0 :(得分:3)
您当前的工作目录仍然是您启动第一个批处理文件的目录。运行第二个批处理文件不会更改工作目录。
尝试将cd %~dp0
添加到第二个批处理文件中(@ECHO OFF
之后)。这将cd到批处理文件所在的目录。