我想写一个批处理脚本,可以删除同一台计算机上一堆用户的特定文件夹中的文件。不知道这是如何工作的,但我在下面有关于它如何工作的想法。我想在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
答案 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
恢复以前的状态。