我想使用一个批处理文件来删除特定目录中的所有文件和文件夹。我已经在Linux上看到过这样的操作,但在Windows命令环境下似乎很麻烦。
例如:\temp\1.bat(保留)\temp\special文件夹(保留)
\temp\目录中包含我想要删除的所有文件和文件夹,除了1.bat和special文件夹。
我尝试了递归命令,但它们会删除目录,或者删除所有文件并保留目录。
例如:
attrib +r "special directory"
attrib +r "1.bat"
erase /Q *.*
rd /s /q
attrib -r "1.bat"
但这样会全部删除。如果我删除
rd
这一行,它就会把所有文件都删掉,而不是只删除目录并保留1.bat文件(这正是我需要的)。我也尝试过:
for /d %%i in (".\*") do if /i not "%%i"=="special folder" rd /s /q "%%i"
但是这也不行。我不能简单地删除除“特殊文件夹”和“1.bat文件”以外的所有目录和文件。
这种情况是否可能呢?
/XF
),您甚至可以使用通配符;不要忘记在目标目录树中放置批处理脚本本身时将其排除在外... - aschipfl