将另一个文件复制到文件夹后运行错误的批处理文件

时间:2012-02-16 09:56:48

标签: batch-file copy

问题是它正在调用原始的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

)

1 个答案:

答案 0 :(得分:3)

您当前的工作目录仍然是您启动第一个批处理文件的目录。运行第二个批处理文件不会更改工作目录。

尝试将cd %~dp0添加到第二个批处理文件中(@ECHO OFF之后)。这将cd到批处理文件所在的目录。