Ton*_*ich 69 windows windows-7 command-line
我想在 Windows 7 中删除批处理文件中的所有文件和子文件夹并保留顶级文件夹。基本上清空文件夹。什么是命令行指令?
MDM*_*rra 65
您可以使用del
和/S
标志来执行此操作(告诉它从所有子目录中删除所有文件):
del /S C:\Path\to\directory\*
Run Code Online (Sandbox Code Playgroud)
小智 31
最佳解决方案:例如,我想删除父目录的所有文件和子目录,可以说“C:\Users\Desktop\New folder\”。简单的方法是创建以下三个命令的批处理文件。
cd C:\用户\桌面\新文件夹\
删除 * /S /Q
rmdir /S /Q "C:\Users\Desktop\New folder\"
这里首先会清理所有子目录中的所有文件,然后清理所有空的子目录。由于当前工作目录是父目录,即“\New folder”,rmdir 命令不能删除这个目录本身。
小智 15
导航到父目录:
pushd "Parent Directory"
Run Code Online (Sandbox Code Playgroud)
删除子文件夹:
rd /s /q . 2>nul
Run Code Online (Sandbox Code Playgroud)
您可以通过将这三个指令放入 bat 文件中来快速轻松地完成此操作:
mkdir empty_folder
robocopy /mir empty_folder "path_to_directory"
rmdir empty_folder
Run Code Online (Sandbox Code Playgroud)
小智 7
rmdir "c:\pathofyourdirectory" /q /s
Run Code Online (Sandbox Code Playgroud)
不要忘记使用引号,因为/q /s
它将删除所有存储库并且不会提示。
小智 7
您可以使用 rmdir 删除文件和子文件夹,如下所示:
rmdir /s/q MyFolderPath
Run Code Online (Sandbox Code Playgroud)
但是,它要快得多,尤其是当您的结构中有很多子文件夹要在 rmdir 之前使用 del 时,如下所示:
del /f/s/q MyFolderPath > nul
rmdir /s/q MyFolderPath
Run Code Online (Sandbox Code Playgroud)
user340956 非常接近解决方案,但你知道他们对 close\xe2\x80\xa6 的看法
\n\n需要明确的是,rd /s /q c:\\foobar
删除目标目录及其内容之外,但您并不总是想删除目录本身,有时您只想删除其内容并保留该目录。该deltree
命令可以做到这一点,但微软以其无限的“智慧”删除了该命令并且没有将其移植到 Windows。
这是一个无需借助第三方工具即可工作的解决方案。使用命令行脚本可能会尽可能简单和高效,而不是直接编写实际的可执行文件。它不设置任何环境变量,也不使用任何循环。它也尽可能安全,尽可能进行错误检查,并且通过内置文档尽可能用户友好。
\n\ndt.bat
(或者dt.cmd
对于孩子们;无论如何,我老了,我使用.bat
):
:: dt is a Windows-compatible version of the deltree command\n:: Posted to SuperUser by Synetech: https://superuser.com/a/1526232/3279\n\n@echo off\ngoto start\n\n:start\n if ["%~1"]==[""] goto usage\n pushd "%~1" 2>nul\n if /i not ["%cd%"]==["%~1"] goto wrongdir\n rd /s /q "%~1" 2>nul\n popd\ngoto :eof\n\n:usage\n echo Delete all of the contents of a directory\n echo.\n echo ^> %0 DIR\n echo.\n echo %0 is a substitute for deltree, it recursively deletes the contents\n echo (files and folders) of a directory, but not the directory itself\n echo.\n echo DIR is the directory whose contents are to be deleted\ngoto :eof\n\n:wrongdir\n echo Could not change to the target directory. Invalid directory? Access denied?\ngoto :eof\n
Run Code Online (Sandbox Code Playgroud)\n\n它的工作原理如下:
\n\npushd
保存当前目录,然后切换到目标目录,将任何错误重定向到以nul
获得更清晰的命令行体验(和更清晰的日志)。pushd
(例如,传递无效目录、访问错误等)\n\nC:\\Users\\Bob Bobson\\foobar
相同的,也不会被视为相同)。C:\\Users\\BobBob~1\\foobar
使用非短文件名有点不便,但安全总比遗憾好,特别是因为 SFN 并不完全可靠或总是可预测的(甚至可能完全禁用)。rd
删除目标目录及其所有内容,将任何错误(目录本身至少应该有一个错误)重定向到nul
. 关于此的一些注释:\n\npopd
返回到先前的当前目录并结束脚本。rem
(如果您愿意,可以使用或对上述描述的脚本进行注释::
。)
归档时间: |
|
查看次数: |
473900 次 |
最近记录: |