【发布时间】:2014-03-03 22:38:06
【问题描述】:
我在这里进行了一些初步搜索,但找不到完全适合我在这里尝试做的答案。我基本上继承了这个批处理脚本来处理复制/移动/操作一组文件的特定过程,最近有人提出,如果批处理文件是从其中有空格的目录运行的,它就不起作用。我已将问题缩小到以下块,但找不到正确的方法来替换它:
for /r %%f in (*.ext1) do (
echo %%f
my_tool.exe %%f %%f.ext2
del /f /q %%f
)
所以基本上这里应该发生的是,my_tool 有两个参数,一个输入文件和一个输出文件。它对输入文件进行一些处理,并将其作为同一文件输出,但附加了 .ext2 扩展名。 (foo.ext1 变成 foo.ext1.ext2)
问题在于 %%f 没有引用文件的完全限定路径,因此该工具获取的参数比预期的要多,而且格式不正确。任何建议将不胜感激。
【问题讨论】:
标签: windows batch-file filenames filepath