【发布时间】:2018-06-06 13:52:17
【问题描述】:
我要删除所有文件夹,标记的数字比参数中的大。
例如如果我键入batchname 20,批处理文件应删除名为p21、p22、p23 的文件夹并保留名为p1、p2、p3、@987654328 的文件夹@,p20。
我在网上找到了这个脚本并尝试过,但它只删除了一个文件夹以外的所有内容:
for /D %%D in ("*") do (
if /I not "%%~nxD"=="p%1" rd /S /Q "%%~D"
)
for %%F in ("*") do (
del "%%~F"
如何使这个脚本按照上面的方法工作?
【问题讨论】:
-
您需要从文件夹名称中分离出数字并将其分配给变量。这可以通过 SET 命令来完成。然后就可以用 IF 命令进行比较了。
标签: batch-file