我有时会使用 Windows 命令行删除多台计算机上的大量文件,使用命令DEL
,有些计算机上的功能很冗长(即在删除过程中输出删除的文件),而有些计算机上则不是这样。有没有办法强制命令行实用程序始终显示其进度?
答案1
这俩德尔和擦除命令将会静默,除非你包含/秒参数删除所有子目录中的所有文件。
一种方法是直接逐个删除文件。假设您要删除临时文件夹中的所有内容:
for /f "tokens=*" %A in ('dir /s /b "%TEMP%"') do del /Q "%A"
针对 200 万个文件,启动时需要花费一些时间,因为它需要先列出这些文件,然后逐个删除它们。
另一个选择是使用Robocopy并让它镜像一个空目录以删除您想要的文件。删除每个文件时,您将获得详细输出。从一个空目录 (c:\empty) 开始,然后运行类似于以下内容的命令:
robocopy c:\empty c:\dir_with_files_to_be_deleted *files_you_want_to_delete.* /mir /v
或者,如果您只想删除单个目录中的所有文件:
robocopy c:\empty c:\dir_to_empty /mir /v
答案2
如果要删除整个目录,请使用rd/s/q
(rmdir /s /q
) 反而。