gpt4 book ai didi

windows - 使用/R 标志将批处理脚本的输出放入正确的子目录中

转载 作者:可可西里 更新时间:2023-11-01 09:43:25 27 4
gpt4 key购买 nike

我目前面临的问题是我需要在每个子目录中处理文件,我正在使用这样的 for 循环:

for /R %%x in (*.dat) do tool.exe -c -f -e "%%x"

现在它确实处理了除工具输出文件之外的所有内容,并且该文件始终位于启动批处理脚本的目录中,而不是原始文件所在的目录中。我尝试了很多方法,比如使用 %CD% 作为该工具的输出目录选项,但看起来该工具不太喜欢那样,只是给出了错误。

我正在寻找一个通用的解决方案,因为我现在在使用很多 CLI 工具时遇到了这个问题。

最佳答案

我迟到了,但是,补充 Andriy 的回答,您可以通过组合两个 FOR 循环来简化 BAT,这可能会稍微更有效,也更清晰。

for /D /R %%d in (*) do (
pushd %%d
for %%x in (*.dat) do tool.exe -c -f -e "%%x"
popd
)

作为一个额外的好处,这个版本将解决主循环引用不同驱动器的情况(在这个特定的 OP 问题上不是这种情况)并且具有在每次迭代中恢复当前目录的相对值(value),如果循环中包含其他命令,这也可能不太重要。

关于windows - 使用/R 标志将批处理脚本的输出放入正确的子目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13019464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com