在forfiles中使用@FILE不起作用

时间:2012-08-01 15:24:34

标签: command-line cmd command-prompt

我正在尝试构建一个批处理文件,删除超过30天的所有Excel文件。到目前为止,我有命令:

forfiles -p"N:\QC\ATR's" -s -m*.xls* -d-30 -c"CMD /C del /f /q @FILE"

唯一的问题似乎是@FILE在文件夹/文件名中有空格,因此del命令找不到指定的路径。例如,查看命令中的回声

Could Not Find N:\QC\ATR's\'-5

何时应该真正寻找路径

N:\QC\ATR's\-5 brightness study

明白我的意思?有没有办法告诉@FILE变量用引号或其他东西包装?

由于

2 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

SET FILE = -5 brightness study

forfiles -p"N:\QC\ATR's" -s -m*.xls* -d-30 -c"CMD /C del /f /q %FILE%"

检查这些网站以获得一些帮助:

http://ss64.com/nt/path.html

http://www.windowsitpro.com/article/server-management/how-do-i-pass-parameters-to-a-batch-file-

答案 1 :(得分:0)

我明白了。我刚刚在文件变量

周围添加了Hex编码的qoutes
forfiles -p"N:\QC\ATR's" -s -m*.xls* -d-30 -c"CMD /C del /f /q ^0x22@FILE^0x22"