批处理脚本删除文件夹&来自远程PC

时间:2018-03-02 21:11:15

标签: batch-file

我们有多个工作站需要执行此操作,并希望批处理脚本(PowerShell不是此特定任务的选项)。

在每台PC上,我们需要杀死一个特定的进程(" univmgr.exe"),然后从以下父目录中删除所有子文件夹和文件:C:\ DRS \ TEMP,除了一个名为的子文件夹" DGNUser10" (以及排除DGNUser10子文件夹内的所有内容)。

当我在一台测试机器上本地运行时,我能够让我的测试脚本正常工作:

@echo off
taskkill /f /im univmgr.exe /t
pushd "C:\DRS\TEMP" || exit /B 1
for /D %%D in ("*") do (
    if /I not "%%~nxD"=="DGNUser10" rd /S /Q "%%~D"
)
for %%F in ("*") do (
    del "%%~F"
)
popd

但是当我尝试定位计算机的文本文件列表(list.txt)时,我的语法出现了可怕的错误,但我还没有弄清楚它是什么或如何解决它...这是我一直在调整和测试的当前脚本:

:Start
cls
@echo off

for /f "tokens=*" %%A in (list.txt) do (

taskkill /f /im univmgr.exe /t
for /D %%D in ("C:\DRS\TEMP") do (
    if /I not "%%~nxD"=="DGNUser10" rd /S /Q "%%~D"
    )
for %%F in ("*") do (
    del "%%~F"
    )
)

Goto End

:End

0 个答案:

没有答案