我有一个 .bat 脚本,用于安装 3 个软件。当我打开提升的命令提示符,浏览到文件并运行它时,一切都正常。当我直接运行 .cmd 时(使用 Windows 7 中的“以管理员身份运行”)什么也没有发生。有人知道这是为什么吗?
脚本如下:
远程回声关闭
ECHO 正在安装 Bonjour,请稍候!
msiexec.exe /i reqs\Bonjour64.msi /quiet
ECHO 正在安装 DirectX 9.0C Redist,请等待
reqs\dxsetup.exe /静默
ECHO 正在安装 Airserver,请等待。
msiexec.exe /i reqs\AirServer-1.9.1.msi /qn TRANSFORMS=PIDKEY.mst
任何帮助将不胜感激。
答案1
我的猜测是,当通过“以管理员身份运行”启动时,脚本会在不同的工作目录中启动。因此,您的相对路径可能是错误的。如果您正常启动 cmd,则应该位于您的用户配置文件中。如果您通过“以管理员身份运行”以管理员身份启动 cmd,则通常会进入“C:\Windows\System32”。
尝试这个:
rem ECHO OFF
ECHO Installing Bonjour , please wait!
msiexec.exe /i "%~dp0reqs\Bonjour64.msi" /quiet
ECHO Installing DirectX 9.0C Redist , please wait
"%~dp0reqs\dxsetup.exe" /silent
ECHO Installing Airserver , please wait.
msiexec.exe /i "%~dp0reqs\AirServer-1.9.1.msi" /qn TRANSFORMS="%~dp0PIDKEY.mst"
%~dp0 解析为脚本所在的目录(加上尾随的反斜杠)。