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

时间:2015-10-08 23:51:50

标签: batch-file cmd psexec

我想写一个批处理脚本,可以删除同一台计算机上一堆用户的特定文件夹中的文件。不知道这是如何工作的,但我在下面有关于它如何工作的想法。我想在PC中远程共享,然后导航到users文件夹中的所有文件夹,然后删除指定路径中的文本文件。我如何使这项工作?

@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

2 个答案:

答案 0 :(得分:0)

在这两个示例中,您循环遍历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

答案 1 :(得分:0)

由于大多数本地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
如果给出了UNC路径,

pushd会创建一个临时驱动器,并使其根目录成为当前目录。 popd恢复以前的状态。