删除当前目录下及其子目录下的所有空文件夹

@echo off
 setlocal enabledelayedexpansion
del /q c:\empty_dir
del /q c:\directory.txt
REM 下面的代码加上sort /r ,表示逆序排列文件夹。子文件夹在前,父文件夹在后。
dir /a:d /b /s "."  | sort /r > "%cd%\directory.txt"


for /f "usebackq delims=" %%i in ("directory.txt") do (
    rem echo "enter dir is: %%i"
    rem cd "%%i"
    rem echo "the bat path is: %~f0" rem print this batfile's whole path.
    echo "cur dir is: "%%i""
    REM 将当前目录下的所有文件打印到以下文件中:
    dir /a /b "%%i" >"c:\folder_content.txt"
    rem echo "======================================================="
    rem echo "==================fold content: begin ================="
    :type "c:\folder_content.txt"
    rem echo "==================fold content: end   ================="
    rem echo "======================================================="
    
    REM 下面的findstr命令查找当前文件是否有内容,如果查找成功表示目录不是空的,否则是空的。
    REM 注意下面的两个 '与' 和 两个 '或' 符号。	
    findstr . "c:\folder_content.txt" >nul 2>nul && ( echo "The folder "%%i" is NOT NOT NOT empty") || ( echo "The folder "%%i" is empty" && echo "%%i">>"%cd%\empty_dir" && rd "%%i")
    del "c:\folder_content.txt"
 
 
    )


 del  "%cd%\directory.txt"


### 回答1: 可以使用以下命令删除当前文件夹中所有子文件夹名为 "target" 的目录: ``` rd /s /q target ``` 请注意,这将删除所有名为 "target" 的子文件夹及其所有内容,并且无法撤消。请谨慎使用。 ### 回答2: 在bat脚本中,可以使用以下命令删除当前目录下所有名为"target"的子文件夹。 ```bash @echo off for /d %%i in (target*) do ( echo Deleting "%%i" rd /s /q "%%i" ) ``` 这个脚本首先使用for循环遍历当前目录下所有以"target"开头的子文件夹。然后使用"rd"命令来删除这些文件夹,其中参数"/s"用于删除文件夹及其包含的所有内容,"/q"用于不显示确认提示。 你可以将这段脚本保存为.bat文件,并在需要删除"target"文件夹的目录下运行它。执行后,脚本将会逐个删除所有名为"target"的子文件夹,并在命令行中显示删除的进度。 ### 回答3: 要删除当前所有子文件夹名为target的目录,可以使用bat脚本来实现。以下是一个示例的bat脚本: ```bat @echo off setlocal enabledelayedexpansion set "target=target" for /d %%f in (*) do ( if "%%f"=="%target%" ( echo Deleting directory: %%f rd /s /q "%%f" ) ) endlocal ``` 以上脚本首先设置了要删除的目录名为"target"。接着使用`for /d`命令遍历当前目录下的所有子文件夹。其中`/d`表示只处理目录而不处理文件。 对于每个子文件夹,脚本会将其名与目标目录名进行比较。如果相同,则使用`rd`命令删除该子文件夹。`/s`表示递归删除文件夹及其中的文件,`/q`表示静默删除,即无需确认。 最后,通过`endlocal`命令结束脚本的执行。 请注意,在运行此脚本之前,建议先备份重要的数据,以免误删除。另外,该脚本只会删除当前目录下的子目录,不会删除子目录中的子目录。如果需要递归删除所有子目录,可以修改脚本中的`rd`命令,如`rd /s /q "%%f"`改为`rd /s /q "%%f\*"`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值