Board logo

标题: 文件夹无任何文件时,删除同目录下的其它任何文件。 [打印本页]

作者: huangshuirun     时间: 2009-7-3 07:54    标题: 文件夹无任何文件时,删除同目录下的其它任何文件。
查找指定文件夹无任何文件时,删除同目录下的其它任何文件。我想查找如: c:\bat\imag\下无文件时。删除 c:\bat\下任何文件。要如何实现呢。高手支招。谢谢。

作者: s11ss     时间: 2009-7-3 09:11
rd c:\bat\imag 2>nul && md c:\bat\imag || del c:\bat /q

作者: huangshuirun     时间: 2009-7-6 07:02
Originally posted by s11ss at 2009-7-3 09:11:
rd c:\bat\imag 2>nul && md c:\bat\imag || del c:\bat /q

这些是什么意思呢。
请说明

作者: Hanyeguxing     时间: 2009-7-6 07:24

dir /a/b c:\bat\imag | findstr .>nul 2>nul &&echo 有文件,操作终止 || del c:\bat /q/f/a 2>nul


要删除c:\bat里的子目录中文件,加 /s

dir /a/b c:\bat\imag | findstr .>nul 2>nul &&echo 有文件,操作终止 || del c:\bat /q/f/a/s>nul 2>nul


Last edited by Hanyeguxing on 2009-7-6 at 07:55 ]

作者: huangshuirun     时间: 2009-7-10 12:28
谢楼上。上个问题已解决。
但如果反过来查找呢?如下:
查找如: 发现 c:\bat\image\有文件时,再判断c:\bat\def文件夹是否存在,不在时就创建一个def文件夹.有在时不创建。这样的批处理要如何设置呢。

Last edited by huangshuirun on 2009-7-11 at 10:50 ]

作者: Hanyeguxing     时间: 2009-7-12 01:08

dir /a/b c:\bat\imag | findstr .>nul 2>nul &&md c:\bat\def 2>nul || del c:\bat /q/f/a 2>nul

作者: huangshuirun     时间: 2009-7-12 07:42
Originally posted by Hanyeguxing at 2009-7-12 01:08:

dir /a/b c:\bat\imag | findstr .>nul 2>nul &&md c:\bat\def 2>nul || del c:\bat /q/f/a 2>nul

这个语句应该是指查找当c:\bat\imag 下有文件时就创建c:\bat\def 文件夹。而没有再查找c:\bat\def 是否已经存在。最后一句是当没有找到c:\bat\imag 下有文件时就删除c:\bat所有。
我相在找到有c:\bat\imag有文件时,再查找是不是def已经存在。没有时再创建。楼上理解有误。