Forfiles - 文件夹路径中的空格

时间:2011-03-02 07:04:26

标签: batch-file forfiles

我正在运行批处理文件,其中有一个forfiles命令

FORFILES -p%spinputarchrootpath% -m*.csv -d-365 -c"CMD /C DEL @FILE"

%spinputarchrootpath% variable maps to a folder location (Y:\Temp Documents\testfolder).

现在上面的命令由于文件夹名称(Temp Documents)中的空格而引发错误。

如何处理这个空间?我试过在%spinputarchrootpath%变量周围加上引号,但它不起作用。

4 个答案:

答案 0 :(得分:3)

将路径括在引号中:

FORFILES -p "%spinputarchrootpath%" -m *.csv -d -365 -c "CMD /C DEL @FILE"

请注意,-p"%spinputarchrootpath%"之间有一个空格。在这种情况下没有空间它将无法工作。

答案 1 :(得分:1)

首先将目录更改为所需的文件夹,然后在没有/ p参数的情况下执行forfiles。

CD %spinputarchrootpath%
FORFILES -m*.csv -d-365 -c"CMD /C DEL @FILE"

答案 2 :(得分:1)

我遇到了同样的问题并找到了解决方案。 我认为你想要清空的文件夹的文件夹变量在结尾处有一个反斜杠。

这不起作用:

echo J | forfiles / P" C:\ temp files \ " / S / M * / D -7 / C" cmd / c del / F / S / Q @ path"

...但这有效(没有反斜杠)

echo J | forfiles / P" C:\ temp files " / S / M * / D -7 / C" cmd / c del / F / S / Q @ path"

此致

蒂诺

答案 3 :(得分:0)

检查帖子: How to Tell FORFILES to Execute Command on Path?

问题在于: -c“CMD / C DEL @FILE”

使用: -c“CMD / C DEL ^ 0x22 @ FILE ^ 0x22” 在文件周围添加额外的双引号