FORFILES - 空间中的文件夹路径

问题描述 投票:2回答:4

我运行一个批处理文件,我在里面有一个FORFILES命令

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

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

现在上述命令是投掷因为在文件夹名称(临时文件)的空间的一个错误。

如何处理这个空间?我试图把周围%spinputarchrootpath%变量引号,但它无法正常工作。

batch-file forfiles
4个回答
3
投票

用引号括起来的路径:

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

请注意,有-p"%spinputarchrootpath%"之间的空间。如果没有在这种情况下,空间将无法正常工作。


3
投票

我最好了同样的问题,并找到了解决办法。我想你想清空该文件夹的文件夹,变量在最后一个反斜杠。

这是不行的:

回声Ĵ| FORFILES / P “C:\临时文件\”/ S / M * / d -7 / C “CMD / C德尔/ F / S / Q @path”

...但这个工程(不含反斜线)

回声Ĵ| FORFILES / P “C:\临时文件”/ S / M * / d -7 / C “CMD / C德尔/ F / S / Q @path”

问候


1
投票

由于周围的工作第一次更改目录到你想要的,然后执行FORFILES不带/ p参数的文件夹。

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

0
投票

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

问题就出在部分:-c “CMD / C DEL @FILE”

用途:-c “CMD / C DEL ^ @为0x22 ^ FILE为0x22” 把文件有多余的双引号

© www.soinside.com 2019 - 2024. All rights reserved.