从计算机列表的多个用户路径中删除文件的脚本?

Script to delete files from multiple user paths from a list of computers?

我想编写一个批处理脚本,可以为同一台计算机上的一群用户从特定文件夹中删除文件。不确定这是如何工作的,但我在下面有关于它如何工作的想法。我想在一台电脑上远程共享,然后导航到用户文件夹中的所有文件夹,然后删除指定路径中的文本文件。我该怎么做?

@echo on
cd \computername\C$
for /f "usebackq" %%m in (`dir /b \computername\C$\users`) do (

del \computername\Users\%%m\AppData\Local\folder\folder\Log\*.txt"
)
PAUSE

@echo on
psexec @pclist.txt -s cmd for /f "usebackq" %%m in (`dir /b \computername\C$\users`) do (

del \computername\Users\%%m\AppData\Local\folder\folder\Log\*.txt"
)
PAUSE

在这两个示例中,您都在遍历 C$ 共享,但没有在您的 del 命令中使用它。

试试这个:

@echo on
for /f "usebackq" %%m in (`dir /b \computername\C$\users`) do (
del "\computername\C$\Users\%%m\AppData\Local\folder\folder\Log\*.txt"
)
PAUSE

由于大多数本机 cmd 命令无法正确处理 UNC 路径,我将执行以下操作(假设给定的 UNC 路径可访问):

@echo on
pushd "\Computername\C$\Users"
for /F "usebackq" %%M in (`dir /B "."`) do (
    del ".\%%~M\AppData\Local\folder\folder\Log\*.txt"
)
popd
pause

pushd 如果给定 UNC 路径并使其根目录成为当前目录,则创建一个临时驱动器。 popd 恢复之前的状态。