批处理删除在txt文件中列出路径的文件。

22 浏览
0 Comments

批处理删除在txt文件中列出路径的文件。

我需要一个批处理程序,可以从局域网中删除文件,所有文件的路径都保存在一个txt文件中。我不知道批处理程序如何“读取”这些路径,然后使用DEL命令删除这些文件。

目前有效的代码行是:

del "路径\*.txt" - 用于删除某个文件夹中的所有txt文件(路径是实际路径,例如c:\folder\folder\*.txt),但我需要处理更多的路径。

然后,我使用psexec.exe推送了这个批处理程序(用于局域网删除)。

我猜这只需要2-3行代码,但我对批处理和脚本编程不熟悉,请有经验的人帮忙!提前感谢!

0
0 Comments

出现的原因:

用户想要通过批处理删除在一个文本文件中列出的路径所对应的文件。用户询问如何使用批处理循环遍历每个路径,并在何处放置删除命令。

解决方法:

用户可以使用FOR /F命令来处理输入文件中的每一行。用户可以参考提供的stackoverflow答案,其中给出了一个示例代码。代码中使用for /F "tokens=*" %%A in (myfile.txt) do del "%%A"来删除myfile.txt中列出的文件路径所对应的文件。

如果要在用户关闭文件后立即删除文件,这取决于程序是否阻塞了该文件。如果文件未被阻塞,则文件会立即被删除;否则将不会被删除。

以下是用户的具体问题和解决方案的示例代码:

问题:

myfile.txt的内容如下:

a.txt
b.txt
a b c.txt

文件的路径是这样的:c:\path\file1.pdf,第二行是c:\path\file2.txt,依此类推。for /f会遍历每个文件,那么在哪里应该放置del命令?应该如何编写它?

解决方法:

可以像这样编写代码:for /F "tokens=*" %%A in (myfile.txt) do [process] %%A,其中[process]是del命令。

示例代码:

for /F "tokens=*" %%A in (myfile.txt) do del "%%A"

用户对解决方案的反馈:

感谢!它起作用了!如果某个文件正在被修改(有人在使用它或者在删除时打开了它),批处理会在用户关闭文件后删除它吗?再次感谢您的快速回答。

解答:

如果某个文件正在被修改(有人在使用它或者在删除时打开了它),批处理会在用户关闭文件后删除它。再次感谢您的快速回答!我可以让批处理在用户关闭文件后立即删除文件吗?

0
0 Comments

在使用批处理文件删除具有其路径的txt文件时,可能会出现以下问题:无法找到文件或路径错误。这可能是由于以下原因导致的:

1. 文件路径错误:批处理文件中指定的txt文件路径可能有误,导致无法找到文件。可以通过检查文件路径是否正确来解决此问题。

2. 文件权限限制:批处理文件可能没有足够的权限来删除指定路径下的文件。可以尝试使用管理员权限运行批处理文件来解决此问题。

3. 文件正在被使用:如果要删除的txt文件当前正在被其他程序使用,那么批处理文件将无法删除该文件。可以尝试关闭正在使用该文件的程序,然后再运行批处理文件。

为了解决这些问题,可以采取以下措施:

1. 确认文件路径:确保批处理文件中指定的txt文件路径是正确的,可以通过手动检查路径或使用其他方法来验证路径。

2. 提升权限:如果批处理文件没有足够的权限来删除文件,可以尝试使用管理员权限运行批处理文件。可以右键单击批处理文件并选择“以管理员身份运行”。

3. 关闭文件使用:如果要删除的txt文件正在被其他程序使用,可以尝试关闭正在使用该文件的程序,然后再运行批处理文件。

通过检查文件路径、提升权限和关闭文件使用情况,可以解决批处理文件删除具有其路径的txt文件时可能出现的问题。

0