我有一个格式为
的文本文件computername1 uninstallkey1
computername2 uninstallkey2
...
computername200 uninstallkey200
我正在尝试编写一个启动脚本(批处理文件或powershell?),它生成一个msiexec命令,该命令查找并为其执行的每台计算机植入正确的密钥,例如:
msiexec /x install.msi key=uninstallkey
如果我没有说清楚,请询问并且非常感谢任何帮助!
答案 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"
}
}