如何使用 Windows 中的文件名列表从文件夹中删除文件?

Avi*_*ing 24 windows windows-7 windows-explorer batch-file

我有一个包含 2K+ 文件的文件夹,我需要删除大约 200 个,我有一个 txt 文件,其中包含我需要删除的所有文件名,并在列表中排序,如何使用列表从文件夹中删除特定文件?(操作系统是 Windows 7)

Wil*_*son 43

在命令行上键入此内容,将您的文件替换为files_to_delete.txt

for /f %i in (files_to_delete.txt) do del %i
Run Code Online (Sandbox Code Playgroud)

此版本适合包含在.cmd文件中(双 %%)并能够处理文件名中的空格:

for /f "delims=" %%f in (files_to_delete.txt) do del "%%f"
Run Code Online (Sandbox Code Playgroud)

  • 我深表歉意。我忘记了 `/f` 标志。 (4认同)

Sii*_*m K 22

使用 PowerShell:

Get-Content c:\path\to\list.txt | Remove-Item
Run Code Online (Sandbox Code Playgroud)

  • 哇,这比批处理更具可读性。 (2认同)
  • 对于未来的读者...我必须将管道运算符更改为“>”才能使其工作。即 `Get-Content c:\path\to\list.txt > Remove-Item` ...我的 `list.txt` 中有完整的 UNC 路径。希望这可以帮助。 (2认同)

小智 18

简单的方法是将txt文件mydel.bat复制到要删除的文件所在目录中的一个文件中。使用 Microsoft Word 等编辑器编辑此文件。通常^p在 Word 中对换行符进行全局替换。将其替换为space/f^pdelspace. 这将改变

File1.bin
File20.bin
File21.bin
Run Code Online (Sandbox Code Playgroud)

to(/f用于“强制删除只读文件”):

File1.bin /f
del File20.bin /f
del File21.bin /f
del
Run Code Online (Sandbox Code Playgroud)

编辑第一行以添加del空格并删除最后一行。

运行批处理命令。

  • 对于“强制删除只读文件”,这可能应该是 `/f` 而不是 `/y`。 (2认同)