用于生成卸载命令的启动脚本

时间:2013-06-06 15:20:07

标签: windows powershell batch-file startupscript

我有一个格式为

的文本文件
computername1 uninstallkey1
computername2 uninstallkey2
...
computername200 uninstallkey200

我正在尝试编写一个启动脚本(批处理文件或powershell?),它生成一个msiexec命令,该命令查找并为其执行的每台计算机植入正确的密钥,例如:

msiexec /x install.msi key=uninstallkey

如果我没有说清楚,请询问并且非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

@ECHO OFF
SETLOCAL
FOR /f "tokens=1*" %%i IN (yourtextfilename.txt) DO (
 IF /i %%i==%COMPUTERNAME% ECHO MSIEXEC /x install.msi key=%%j
)

这应该按照您的要求执行 - yourtextfilename.txt包含数据,可能是在共享驱动器上;找到第1列中的计算机名与目标计算机环境中%computername%返回的计算机名相同的行。

(所有不区分大小写的EXCEPT %%i%%j必须匹配并且是相同的情况)

只需ECHO修改命令 - 在验证激活后删除ECHO关键字。

答案 1 :(得分:1)

在PowerShell中,

$comp = Import-CSV -Delimiter " " -Path C:\comp.txt -Header computername,uninstallkey
$comp | ForEach-Object { 
    if ($env:COMPUTERNAME -eq $_.Computername) { 
        Start-Process -FilePath "msiexec.exe" -ArgumentList "/x install.msi key=$_.uninstallkey" 
    } 
}