关于CMD小清理脚本

关于CMD小清理脚本

我有一个命令行脚本,可以删除文本文件中未列出的所有文件夹名称。我希望脚本仅删除文本文件中的文件夹。我不确定哪里出了问题。
我的命令是:

for /d %%a in ("C:\Users\Administrator\Desktop\Somedir\*") do findstr /i /x /c:"%%~nxa" Cleanup.txt || rd /s /q %%a

我的文本文件包含短文件夹名称,例如:

am
ar
bg

有人可以帮忙吗?

答案1

在命令行中:

cd "C:\Where\Your\Text\File\Is"
for /f %A in ("Cleanup.txt") do (if exist "C:\Users\Administrator\Desktop\Somedir\%A" rd /s /q "C:\Users\Administrator\Desktop\Somedir\%A")

批量:

@echo off

set "dir=C:\Users\Administrator\Desktop\Somedir"
set "txt=C:\Where\Your\File\Is\Located\Cleanup.txt"

setlocal enabledelayedexpansion
for /f %%A in (%txt%) do (
    set "del=%%A"
    if exist "%dir%\!del!" rd /s /q "%dir%\!del!" 
)

如果您不想在循环选项中添加任何其他内容,请记住在命令行中更改目录。我更喜欢使用批处理和变量,所以我将其包括在内。

相关内容