使用文件名列表从文件夹中删除文件?

时间:2014-09-16 13:47:04

标签: file powershell arraylist cmd delete-file

我正在尝试从包含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

2 个答案:

答案 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"
)