.bat 脚本的奇怪问题

.bat 脚本的奇怪问题

我有一个 .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 解析为脚本所在的目录(加上尾随的反斜杠)。

相关内容