使用 ForEach 从文本文件中删除项目

问题描述 投票:0回答:1

我有一个包含目录路径和文件名(每行一个)的文本文件,示例如下

"\\servername\data01\My document\test.txt"
"\\servername2\hellofolder\10 to 1\files456.doc"

假设我在文本文件中有 10 个路径和文件名(所有不同的路径和文件夹)。 我想让 powershell 运行文本文件并删除文本文件中提到的文件夹中的所有文件。

我会直接承认(我不擅长powershell)...所以我尝试了以下

$files = get-content -path C:\Temp\filestest.txt
forEach ($file in $files) {remove-item $file}

我收到以下错误

删除项目:找不到路径 'C:\Windows\system32"\servername\data01\我的文档 est.txt"' 因为它不存在。在 C:\Temp\RemoveFiles.ps1:2 字符:28

  • forEach ($files 中的 $file) {remove-item -path $file}
  •                        ~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : ObjectNotFound: (C:\Windows\syst...FSS0434281.msg":String) [删除项目], 项目未找到异常
    • FullyQualifiedErrorId:PathNotFound、Microsoft.PowerShell.Commands.RemoveItemCommand

我相信所有专家都可以告诉我我哪里出错了。 我感谢您预先的帮助。

powershell foreach
1个回答
0
投票

您可以尝试使用以下命令

Get-Content C:\Temp\filestest.txt | ForEach-Object {Remove-Item $_}

$_ 保存循环的当前变量。

© www.soinside.com 2019 - 2024. All rights reserved.