标题: [文件管理] 批处理删除名字含非法字符的文件与目录 [打印本页]
作者: 梦想种子 时间: 2008-5-1 15:42 标题: 批处理删除名字含非法字符的文件与目录
在教师之家里看到youxi01的一个帖子,知道可以用指定的UNC地址删除畸形文件和文件夹。- DEL /F /A /Q \\?\%1
- RD /S /Q \\?\%1
复制代码
觉得很好用。于是随机创建了许多畸形文件夹测试。
后来发觉这个脚本只能一次删一个文件夹,然而待删的文件夹名字都没有规律。
想一次能删除多个,才写了下面这个:(高手莫笑)
- :next
- @(del/a/f/q \\?\%1
- rd/s/q \\?\%1) 2>nul
- @shift
- @if not (%1) == () goto next
复制代码
把要删除的文件或文件夹拖到BAT的图标上即可。
作者: 随风 时间: 2008-5-1 16:12
哈哈。
畸形文件不能用 dir和for来遍历,shift 用的巧妙啊!
但是要强行用for应该也可以吧,没测试,感觉应该也可以,只是代码可能麻烦点。
[ 本帖最后由 随风 于 2008-5-1 16:14 编辑 ]
作者: lky216 时间: 2013-4-30 13:27
复制,留名。谢亲
作者: CrLf 时间: 2013-4-30 14:16
回复 3# lky216
撸主的方案碰到特殊情况会让你哭的,比如 %1=c:\windows\system32\&.txt 会干掉整个 system32 目录,然后再跟你报告“'.txt' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这语气学得像微软吧?其实是复制的...
路径中基本的引号还是不能省,尤其是这种高杀伤性的命令。- DEL /F /A /Q "\\?\%~1"
- RD /S /Q "\\?\%~1"
复制代码
作者: lky216 时间: 2013-4-30 15:19
回复 4# CrLf
好,谢谢,差点被炒鱿鱼了,救命恩人。
你头像黑白对调下看看,还不错。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |