我有一个命令行脚本,可以删除文本文件中未列出的所有文件夹名称。我希望脚本仅删除文本文件中的文件夹。我不确定哪里出了问题。
我的命令是:
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!"
)
如果您不想在循环选项中添加任何其他内容,请记住在命令行中更改目录。我更喜欢使用批处理和变量,所以我将其包括在内。