怎么用cmd删除所有文件夹

比如,删除
C:a\b\
b下面的所有文件和文件夹,b下面的文件夹 ( c )里可能有其他文件

ps:
b目录下有无法指定名字的文件夹,该文件夹下面还有文件。问题就是如何删除这些文件夹和文件

@echo off & title 删除指定目录中所有文件和文件夹 By 依梦琴瑶

::设置要处理的目录路径
set SrcDir=C:\a\b

::方案一
rd /f/q "%SrcDir%" && md "%SrcDir%"

pause

::方案二
cd /d "%SrcDir%"
del /a/f/s/q *
for /r /d %%a in (*) do rd /f/q "%%~sa"

pause追问

方案一提示“无效开关f”
方案二把我D盘的文件给毁了一半,你自己看着办吧

追答

脚本这东西,执行前都需要找一些不重要的目录先进行测试一下,而不是直接正式处理。因为谁也不能保证脚本是否可以正常。

那么现在出了这种问题,难道需要我来赔偿吗?

如果大家都这样,那谁还愿意帮人写代码?

至于无效开关,这个确实是我写的太急,给rd命令加了一个无用的参数/f,实际应该使用/s这个参数。

方案二的代码您是不是单独保存的?

那么在方案二代码里面有没有加上方案一代码上面的那些代码?

如果没有加,那么您有没有在方案二里面给加上要处理的目录路径?如果没有,那么就会导致脚本处理当前目录中的所有文件夹。

您的D盘毁掉了一半的文件,是不是就是这个问题?

追问

数据毁了就算了,反正也找不回来,但是还是感谢你的帮助

追答

刚刚我特意测试了一下我之前写的代码。

除了吧错误的/f参数改成正确的/s参数后,执行后完全正常,并没有出现损坏其它目录的文件。

所以可能是您代码保存时,方案二中没有指定相关路径,因为cd /d那里调用的SrcDir变量在方案一上面预设了,如果不把那些预设的代码一起写进去,可能会出问题。

::方案一
@echo off & title 删除指定目录中所有文件和文件夹 By 依梦琴瑶

::设置要处理的目录路径
set SrcDir=C:\a\b

rd /s/q "%SrcDir%" && md "%SrcDir%"

pause

::方案二
@echo off & title 删除指定目录中所有文件和文件夹 By 依梦琴瑶

::设置要处理的目录路径
set SrcDir=C:\a\b

cd /d "%SrcDir%"
del /a/f/s/q *
for /r /d %%a in (*) do rd /s/q "%%~sa"

pause

以上代码把两个方案都独立出来了,并修正了那个错误参数。

还有数据毁了,不要那么灰心,还是有机会恢复的。

不过现在您要做的就是不再往D盘里面写入任何数据,然后去下载一个数据恢复的软件。针对D盘进行扫描恢复,没啥问题的情况下,还是可以恢复出一大半文件的。

追问

非常感谢您,找了一下,基本没了,以前删的到是一大堆,没什么了,就是写好保存的代码脚本和软件没了部分,再写呗,不过真的很感谢你

追答

再次说声抱歉。

以后写代码,我会描述清楚,以免不是很熟的人,再出现您这个情况。

温馨提示:答案为网友推荐,仅供参考
相似回答