0

我正在尝试构建一个批处理文件来删除所有超过 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 变量用引号或其他东西包裹?

谢谢

4

2 回答 2

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-

于 2012-08-01T15:41:34.307 回答
0

我想到了。我刚刚在文件变量周围添加了十六进制编码的 qoutes

forfiles -p"N:\QC\ATR's" -s -m*.xls* -d-30 -c"CMD /C del /f /q ^0x22@FILE^0x22"
于 2012-08-01T15:44:31.387 回答