Cmd 通过命令提示符仅从目录中删除文件和子文件夹
我在Cmd 通过命令提示符仅从目录中删除文件和子文件夹,cmd,command-prompt,del,Cmd,Command Prompt,Del,我在C:\Testpath中有一个名为Test的文件夹。此Test文件夹中有多个文件和文件夹。现在我想删除Test文件夹中的所有内容,而不是删除Test文件夹本身 我一直在尝试这些命令,但它只删除文件而不删除文件夹 del C:\Test\* del C:\Test\*.* 我需要一个命令来从Test删除文件和子文件夹。谁能帮帮我吗。这是必须使用的命令 CD "C:/Test" && FOR /D %i IN ("*") DO RD /S /Q "%i" &&
C:\Test
path中有一个名为Test
的文件夹。此Test
文件夹中有多个文件和文件夹。现在我想删除Test
文件夹中的所有内容,而不是删除Test
文件夹本身
我一直在尝试这些命令,但它只删除文件而不删除文件夹
del C:\Test\*
del C:\Test\*.*
我需要一个命令来从
Test
删除文件和子文件夹。谁能帮帮我吗。这是必须使用的命令
CD "C:/Test" && FOR /D %i IN ("*") DO RD /S /Q "%i" && DEL /Q *.*
这是必须使用的命令
CD "C:/Test" && FOR /D %i IN ("*") DO RD /S /Q "%i" && DEL /Q *.*
使用单个命令是不可能的,但是使用单个命令行是不可能的 我会这样做:
cd/D“C:\Test”和&rd/S/Q“C:\Test”
这将首先更改为目标根目录。仅当前一个命令成功时,才允许执行以下命令。然后尝试删除目录及其所有内容;对于内容,它可以正常工作,但是对于根目录本身,错误进程无法访问该文件,因为它正被另一个进程使用。
因为前面的cd
命令。可以通过在rd
命令中附加2>nul
来抑制此错误消息(以及其他错误消息):
cd/D“C:\Test”和&rd/S/Q“C:\Test”2>nul
如果要还原原始工作目录,请使用pushd
/popd
而不是cd
:
pushd“C:\Test”和&(rd/S/Q“C:\Test”2>nul&popd)
与删除和重新创建(如rd/S/Q“C:\test”和&md“C:\test”
)相比,此方法的优点是不会丢失根目录的属性、所有者和安全设置
或者,您可以执行以下操作,这更为复杂,但可以避免错误抑制:
del/S/Q“C:\Test\*.*”&for/D%%D in(“C:\Test\*”)do@rm/S/Q“%%~D”
这首先删除驻留在根目录中的所有文件,然后在所有直接子目录中循环并逐个删除。根目录本身永远不会被触碰。一个命令不可能实现这一点,但只有一个命令行 我会这样做:
cd/D“C:\Test”和&rd/S/Q“C:\Test”
这将首先更改为目标根目录。仅当前一个命令成功时,才允许执行以下命令。然后尝试删除目录及其所有内容;对于内容,它可以正常工作,但是对于根目录本身,错误进程无法访问该文件,因为它正被另一个进程使用。
因为前面的cd
命令。可以通过在rd
命令中附加2>nul
来抑制此错误消息(以及其他错误消息):
cd/D“C:\Test”和&rd/S/Q“C:\Test”2>nul
如果要还原原始工作目录,请使用pushd
/popd
而不是cd
:
pushd“C:\Test”和&(rd/S/Q“C:\Test”2>nul&popd)
与删除和重新创建(如rd/S/Q“C:\test”和&md“C:\test”
)相比,此方法的优点是不会丢失根目录的属性、所有者和安全设置
或者,您可以执行以下操作,这更为复杂,但可以避免错误抑制:
del/S/Q“C:\Test\*.*”&for/D%%D in(“C:\Test\*”)do@rm/S/Q“%%~D”
这首先删除驻留在根目录中的所有文件,然后在所有直接子目录中循环并逐个删除。根目录本身从未被触及。检查此问题>rd/s/q c:\destination>md c:\destination检查此问题>rd/s/q c:\destination>md c:\destination