以管理员身份创建一个 .bat 文件到 运行 一个 exe

Create a .bat file to run an exe as administrator

我已经为 运行 创建了一个批处理文件 setup.exe(下面的代码),但是我在将 setup.exe 转换为 "run as administrator" 时遇到了问题。我使用了 this 指南(捷径技巧)作为帮助。

start "" %CD%\Setup.exe

注意:我的文件最终会被刻录到 DVD 磁盘上。它们当前位于目录 "C:\Drivers\win8.1_x64a.chipset".

批处理文件代码 运行s setup.exe(没有管理员权限)很好,当 运行 自己处理批处理文件时(即不 运行 处理捷径)。

但是,当我通过快捷方式运行批处理文件时,Windows给出了错误"Windows cannot find 'C:\Windows\system32\Setup.exe'"

setup.exe目录不在system32文件夹中。为什么 运行 批处理文件找到 setup.exe 很好,但当我通过快捷方式 运行 它时却找不到(所以我可以 运行 setup.exe 作为管理员)?

默认情况下,管理员权限脚本开始于 C:\Windows\system32\

尝试将 cd /d "%~dp0" 放在脚本的开头,如果您想从命令行创建具有管理员权限的快捷方式,应该 change the work directory to the script's one.You can check this

您可以在快捷方式本身中设置工作目录,或者 运行 Setup.exe 不是从工作目录(%CD%)而是从脚本所在的目录:

start "" "%~dp0\Setup.exe"

与之前答案的不同之处在于不需要 cd%~dp0。只是 运行 具有完整路径的设置。