0

我正在尝试使用批处理脚本从大约 500 多台 Windows 7 计算机中删除 Dropbox。Dropbox 是按用户安装在"%APPDATA%\Dropbox"下的。

要静默卸载,您必须运行"%APPDATA%\Dropbox\bin\DropboxUninstaller.exe /S"。我已经测试了这个命令,它工作正常,但问题是它只会从你运行它的用户目录中卸载它。我曾尝试获取 DropboxUninstaller.exe 文件并从 C: 的根目录运行它,但它失败了。

我将通过 SCCM 推出此脚本,因此它将在 SYSTEM 帐户下运行。我需要找到一种在所有用户目录之间循环的方法,找到哪些配置文件具有 Dropbox\bin\DropboxUninstaller.exe 路径/文件并在该位置运行它。

我已经测试了以另一个用户(本地管理员)身份登录并从另一个用户目录运行 Dropbox 卸载程序,它可以很好地卸载我运行它的用户所在的目录,所以我知道这会起作用。

如果有人可以用正确的命令帮助我,那就太好了!我已经用谷歌搜索了一个答案,但它似乎并不存在。

提前致谢,

4

2 回答 2

0

搜索用户配置文件,如果存在 unistaller,则执行它(假设是“标准”安装,可能需要调整)

@echo off
    setlocal enableextensions

    for /F "tokens=2,*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfileImagePath /s ^| find "REG_EXPAND_SZ" ^| findstr /v /i "\\windows\\ \\system32\\"') do (
        call :doUninstall "%%b"
    )

    endlocal
    exit /b

:doUninstall
    set "_uninstaller=%~1\AppData\Roaming\Dropbox\bin\DropboxUninstaller.exe"
    if not exist "%_uninstaller%" goto :EOF
    start "" /wait "%_uninstaller%" /S
    goto :EOF
于 2013-11-06T12:49:03.013 回答
0
for /r c:\windows %A in (notepad.exe) do "%A" %windir%\win.ini

记住批处理中的 %%A 和命令提示符下的 %A。

于 2013-11-06T11:42:39.487 回答