Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 将另一个批处理文件复制到文件夹后运行错误的批处理文件_Batch File_Copy - Fatal编程技术网

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

Batch file 将另一个批处理文件复制到文件夹后运行错误的批处理文件,batch-file,copy,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%将返回第一个批处理文件的路

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

)

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


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

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

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