2012-02-16 44 views
0

问题是它正在调用原始beamthemup2.bat文件,而不是复制的文件。复制另一个文件夹后运行错误的批处理文件

@ECHO OFF 
for /d %%X in (*) do (
    copy "beamthemup2.bat" "%%X" 
    @echo "%%X\beamthemup2.bat" 
    pause 
    call "%%X\beamthemup2.bat" 
) 

UPDATE

这是第二个bat文件。它似乎是复制并运行正确的批处理文件。虽然这是问题。当首次运行上述批处理文件时,%cd%返回第一个批处理文件的路径,但是如果我自己在要复制的文件夹中运行第二个文件夹,%cd%将返回正确的文件夹。

@ECHO OFF 
for /r %%X in (*) do (

    "c:\Program Files\7-Zip\7z.exe" a -tzip "%cd%" "%%X" 
    @ECHO %cd% 
    pause 

) 

回答

3

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

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

+0

这很好,谢谢你的帮助:) – bounce 2012-02-16 11:41:57

+1

太棒了!请在适当的地方标记答案。谢谢。 – Nomad101 2012-02-16 12:14:47

相关问题