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