我正在尝试从包含3,500个文件的文件夹中删除文件。
FolderA(3,500 +文件),FolderB(< 260文件)。
我想要的是我想要一个 FolderA(3,500 +文件) - FolderA(list.txt)=缺少文件。
我试过了:
Get-Content c:\ path \ to \ list.txt |除去-项目
它不起作用。
FolderA有超过3,500个文件,在文件夹中我有一个名为“ list.txt ”的文件,其中包含我要从 FolderA 中删除的所有文件的列表
希望这是有道理的。
谢谢, Yogs
答案 0 :(得分:0)
dir /b /a-d "FolderA*"|findstr /g:"FolderA\list.txt"
应该做你想要的。
“FolderB”有什么问题?
---呃,你想要删除不在列表list.txt
中的文件?
好吧,上面应该会给你一个待删除文件列表,所以
for /f "delims=" %%a in ('dir /b /a-d "FolderA*"^|findstr /g:"FolderA\list.txt"') do ECHO(del "FolderA\%%a"
echo
应该是同一个列表。如果正确,请在验证后将echo(del
更改为del
以实际删除文件。
答案 1 :(得分:0)
cd "C:\Users\gggggg\Desktop\missing2"
Get-Content "C:\Users\XXXXX\Desktop\missing2\ToBeDeleted.txt" | Remove-Item
将活动文件夹更改为要处理的文件夹,获取列表并删除每个项目
批量解决方案
for /f "delims=" %%a in ("C:\Users\XXXXX\Desktop\missing2\ToBeDeleted.txt") do (
del "C:\Users\gggggg\Desktop\missing2\%%a"
)