Batch file 如何使用批处理文件删除2个特定文件夹中的所有内容?
我最近在电脑上处理自动化任务,我想制作一个批处理文件,自动删除2个特定文件夹中的内容。 我尝试使用此批处理文件删除2个文件夹的内容:Batch file 如何使用批处理文件删除2个特定文件夹中的所有内容?,batch-file,Batch File,我最近在电脑上处理自动化任务,我想制作一个批处理文件,自动删除2个特定文件夹中的内容。 我尝试使用此批处理文件删除2个文件夹的内容: forfiles -p "C:Test1" -s -m *.* /C "cmd /c del @path" forfiles -p "C:Test2" -s -m *.* /C "cmd /c del @path" 这似乎是可行的,但它只删除了文件,而不是文件夹,我想删除其中的所有内
forfiles -p "C:Test1" -s -m *.* /C "cmd /c del @path"
forfiles -p "C:Test2" -s -m *.* /C "cmd /c del @path"
这似乎是可行的,但它只删除了文件,而不是文件夹,我想删除其中的所有内容。我尝试了另一种选择,但结果还是一样:
del /s /q "C:Test1\*.*"
del /s /q "C:Test2\*.*"
有人能给我解释一下如何删除文件夹而不仅仅是文件吗?要删除文件夹,必须使用rd命令
forfiles -p "C:\Test2" -s -m *.* /C "cmd /c IF @isdir == TRUE rd /S /Q @path"
以下是我的建议:
@(对于%%G In(“C:\Test1”“C:\Test2”)执行@PushD“%%~G”和&(RD/S/Q&PopD))2>NUL
它仅使用
RD
命令,并通过请求安静地删除当前目录及其所有子目录来执行此操作。如果目录是当前目录,则无法删除该目录,因此代码将使用PushD
,使该目录成为当前目录,如果成功,&&
,则使用相对当前目录
,运行RD
命令,然后返回到以前的当前目录PopD
。RD
命令虽然不能删除当前目录,但仍然可以删除其中的所有内容,并且确实会删除,尽管它确实会生成错误消息。我已通过将StdErr、2>
重定向到NUL
设备来抑制错误消息。使用DEL
命令删除文件,RD
命令删除目录。感谢您的回答,这非常有效!