在同一行中对 psexec 使用 for 循环
use for loop for psexec in same line
我一直在用这个小脚本敲打我的脑袋,从远程主机搜索和删除文件。但是,我已经能够编写单独的脚本来删除和查找文件。
但是,现在我正在尝试合并两者,但我无法在搜索文件的行所在的行中使用 for 循环。
Psexec @IPlist.txt -u ad -p P@$$vv0rCL cmd /c (^WHERE /r D:\ %file%>res.txt
上面一行是用来搜索文件的,下面是删除部分。
del /f /A:H /S /Q "D:\e.txt"
现在,由于我想删除在 rex.txt 中找到并存储的所有文件,因此我需要 运行 此文件的 for 循环。
这是我正在尝试做的事情
Psexec @IPlist.txt -u ad -p P@$$vv0rCL cmd /c (^WHERE /r D:\ %file%>res.txt ^& FOR /f "delims=" %%X IN (res.txt) DO ( del /f /A:H /S /Q "D:\e.txt")
但这会导致错误 cmd 退出,错误代码为 1,如果我在下一行采用 for 循环,则代码在远程 pc 上不起作用。
请问有人指导吗?
将 (res.txt)
中的 )
转义为 ^)
我一直在用这个小脚本敲打我的脑袋,从远程主机搜索和删除文件。但是,我已经能够编写单独的脚本来删除和查找文件。
但是,现在我正在尝试合并两者,但我无法在搜索文件的行所在的行中使用 for 循环。
Psexec @IPlist.txt -u ad -p P@$$vv0rCL cmd /c (^WHERE /r D:\ %file%>res.txt
上面一行是用来搜索文件的,下面是删除部分。
del /f /A:H /S /Q "D:\e.txt"
现在,由于我想删除在 rex.txt 中找到并存储的所有文件,因此我需要 运行 此文件的 for 循环。
这是我正在尝试做的事情
Psexec @IPlist.txt -u ad -p P@$$vv0rCL cmd /c (^WHERE /r D:\ %file%>res.txt ^& FOR /f "delims=" %%X IN (res.txt) DO ( del /f /A:H /S /Q "D:\e.txt")
但这会导致错误 cmd 退出,错误代码为 1,如果我在下一行采用 for 循环,则代码在远程 pc 上不起作用。
请问有人指导吗?
将 (res.txt)
中的 )
转义为 ^)