用脚本批量删除文件
最近使用VS2010打开项目的时候会卡死,发现与恢复上一次打开的文档有关,只要把*.suo文件删除就能解决问题,所以有了下面的脚本:
1 |
FOR /F %%f IN ('DIR *.suo /B /AH') DO DEL /AH %%f |
关于这个脚本的说明:
- 因为suo文件是隐藏的,所以在括号中如果直接使用 *.suo 的话讲找不到文件。
- 使用DIR命令的/B格式可以文件罗列出来,加上/AH开关之后只会查找隐藏文件。
- FOR命令的/F开关可以将IN后面的集合按行分段,就能将DIR命令得到的文件列表逐行分开成多个文件了。
- 最后使用DEL命令将文件删除。
我的机器只有在开机之后第一次用VS打开工程时才会卡死,后面即使有 *.suo 文件也不会。不知道是我的插件缘故还是VS的Bug,有经验的朋友欢迎留言指教。
参考
更行 2013年3月25日
上面的脚本对于文件名中有空格的情况会有问题,建议使用下面的方式:
1 |
FOR /F "delims=?" %%f IN ('DIR /B /AH *.suo') DO (DEL "%%f") |
如果需要同时删除子文件夹中的文件,可以在DIR命令后面加上“/S”,如果想删除普通的文件而不是隐藏文件,只要把“/AH”删除即可。
Mar25
March 25, 2013 at 11:31 pm
for /f “usebackq delims==” %%i in (
dir /s /b *.vc
) do (del /f /s /q “%%i”)March 26, 2013 at 1:15 am
不错,忘了考虑有空格的情况了,不过你这样的话文件名有“=”号也不行。
March 26, 2013 at 3:48 am
可以的呀。。。我试了一个,创建一个=.vc , 上面的命令是可以找出来的。
March 26, 2013 at 4:37 am
试试a=b.vc