1

我有一个格式的文本文件:

computername1 uninstallkey1
computername2 uninstallkey2
...
computername200 uninstallkey200

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

msiexec /x install.msi key=uninstallkey

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

4

2 回答 2

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必须匹配且大小写相同)

命令简单ECHOed -ECHO验证后删除关键字以激活。

于 2013-06-06T15:30:18.000 回答
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" 
    } 
}
于 2013-06-06T15:32:52.603 回答