例如,有一个名为%pathtofolder%的变量,因为它清楚地表明它是文件夹的完整路径。
我想删除这个目录中的每一个文件和子文件夹,但不是目录本身。
但是,可能会出现类似“此文件/文件夹已被使用”的错误…当这种情况发生时,它应该继续并跳过该文件/文件夹。
这有什么命令吗?
例如,有一个名为%pathtofolder%的变量,因为它清楚地表明它是文件夹的完整路径。
我想删除这个目录中的每一个文件和子文件夹,但不是目录本身。
但是,可能会出现类似“此文件/文件夹已被使用”的错误…当这种情况发生时,它应该继续并跳过该文件/文件夹。
这有什么命令吗?
当前回答
RD代表删除目录。
/S:删除所有文件和子文件夹 除了文件夹本身之外。 使用此选项可删除整个文件夹树。
/Q:静音-不显示YN确认
例子:
RD /S /Q C:/folder_path/here
其他回答
你可以使用这个shell脚本清理C:\Temp源代码中的文件夹和文件:
del /q "C:\Temp\*"
FOR /D %%p IN ("C:\Temp\*.*") DO rmdir "%%p" /s /q
创建包含上述命令的批处理文件(例如delete.bat)。进入delete.bat文件所在位置,执行delete.bat命令
我尝试了其中几种方法,但没有一种能正常工作。
我在Windows命令行网站上找到了这个两步方法:
forfiles /P %pathtofolder% /M * /C "cmd /c if @isdir==FALSE del @file"
forfiles /P %pathtofolder% /M * /C "cmd /c if @isdir==TRUE rmdir /S /Q @file"
它完全按照我需要的和OP指定的那样工作。
@ECHO OFF
SET THEDIR=path-to-folder
Echo Deleting all files from %THEDIR%
DEL "%THEDIR%\*" /F /Q /A
Echo Deleting all folders from %THEDIR%
FOR /F "eol=| delims=" %%I in ('dir "%THEDIR%\*" /AD /B 2^>nul') do rd /Q /S "%THEDIR%\%%I"
@ECHO Folder deleted.
EXIT
删除给定目录下的所有文件和文件夹,但不删除目录本身。
使用记事本创建一个文本文档并复制/粘贴:
rmdir /s/q "%temp%"
mkdir "%temp%"
选择“另存为”和文件名称:
delete_temp.bat
另存为类型:所有文件并单击保存按钮。
它适用于任何类型的帐户(管理员或标准用户)。运行它!
在这个例子中我使用了一个临时变量,但是你也可以使用其他变量!PS:仅适用于Windows操作系统!
我使用Powershell
Remove-Item c:\scripts\* -recurse
它将删除文件夹的内容,而不是文件夹本身。