我需要使用批处理脚本遍历所有子目录,包括更改工作目录?

时间:2015-01-08 14:06:46

标签: batch-file cmd

有一个程序可以处理工作目录中的文件和输出。 所以这不起作用:

for /r "d:\root folder\" %%i IN (*.xma) do d:\whatever-path\program.exe "%%i"

我将输出放在根文件夹而不是输入的位置。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果program.exe在当前活动目录中输出其数据且输出必须与输入数据位于同一文件夹中,则可以使用

for /r "d:\root folder" %%i in (*.xma) do (
    pushd "%%~dpi"
    d:\whatever-path\program.exe "%%i"
    popd
)

将当前活动目录更改为存储文件的目录,并在运行命令后还原以前的活动目录