例如,有一个名为%pathtofolder%的变量,因为它清楚地表明它是文件夹的完整路径。

我想删除这个目录中的每一个文件和子文件夹,但不是目录本身。

但是,可能会出现类似“此文件/文件夹已被使用”的错误…当这种情况发生时,它应该继续并跳过该文件/文件夹。

这有什么命令吗?


当前回答

@ECHO OFF
rem next line removes all files in temp folder
DEL /A /F /Q /S "%temp%\*.*"
rem next line cleans up the folder's content
FOR /D %%p IN ("%temp%\*.*") DO RD "%%p" /S /Q

其他回答

这将删除文件夹和文件,并留下文件夹。

pushd "%pathtofolder%" && (rd /s /q "%pathtofolder%" 2>nul & popd)

Rmdir是我最喜欢的命令。它用于删除大文件和带有子文件夹的文件夹。不会创建备份,因此在运行此命令之前,请确保已安全地复制了文件。

RMDIR "FOLDERNAME" /S /Q

这将无声地删除文件夹以及所有文件和子文件夹。

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命令

我有以下对我有效的解决方案:

/R /D %A in (*node_modules*) do rmdir "%A" /S /Q

它从当前目录及其子文件夹中删除所有节点模块文件夹。

这与上面发布的解决方案类似,但我仍然在这里发布这个,以防有人发现它有用