簡體   English   中英

使用Powershell和.txt文件刪除多個文件

[英]Delete multiple files using powershell and a .txt file

我有一個.txt,其中包含我要刪除的1000多個文件的名稱。 我的.txt文件沒有文件路徑。 我要刪除的文件分布在多個文件夾中,但是它們都在同一驅動器中。 有什么方法可以使用Powershell或命令提示符在驅動器中搜索與.txt文件中列出的名稱相同的所有文件並將其刪除嗎?

假設您當前是PowerShell提示符,並且該提示符位於您要開始搜索的根位置,並且文件位於同一目錄中:

gc .\MyListOfFilesIWantToDelete.txt | %{gci $_ -Recurse | Remove-Item -WhatIf}

請注意,您必須刪除-whatif

或者,假設您的文件位於打開PowerShell的其他位置(例如:〜/ Documents),並且您想掃描D:驅動器。 這應該工作:

gc .\MyListOfFilesIWantToDelete.txt | %{gci D:\ -Filter $_ -Recurse -ErrorAction SilentlyContinue | Remove-Item -WhatIf}

注意我把SilentlyContinue。 這是因為如果您無法訪問搜索路徑中的文件夾,則會看到很多紅色。

或者,您可以在文件列表中加載變量。

$thesefiles = gc .\mylistoffilesiwanttodelete.txt

..並直接使用Remove-Item cmdlet。

Remove-Item -Path D:\Folder -Include $thesefiles -Recurse -WhatIf

或一口氣不加載變量:

Remove-Item -Path D:\Folder -Include $(gc .\mylistoffilesiwanttodelete.txt) -Recurse -WhatIf

同樣,我使用-WhatIf進行測試。 另外,我注意到過去在不同版本的PowerShell上使用get-childitem會出現不同的行為。 我用5.1測試了這些

從以下Powershell命令更改目錄

以下命令將允許您刪除特定目錄中的.txt文件

Get-ChildItem C:\*.txt -file -r | remove-item

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM