我正在尝试通过命令行安装打印机,如下所示:
start \\servername\\printername
我必须以管理员身份运行 cmd.exe,否则无法安装驱动程序。直接通过命令行运行效果很好。
但是,我再次将该命令放入.bat 文件中:
名称:printer.bat
内容:
start \\servername\\printername
然后我创建了该文件的链接printer.bat.lnk
,并在“高级”下的“属性”中勾选了“以管理员身份运行”选项。
这不起作用并会立即被取消。
有什么建议可以解决我的问题吗?
谢谢
答案1
将其添加到批处理脚本的顶部,以使其自动以管理员身份运行
@ECHO OFF
REM --------------------------Start of getting superuser permissions--------------------------------------------
REM Check If the script has admin rights
openfiles.exe 1>nul 2>&1
REM If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
REM Now we create temp visual basic script which will run this script again with UAC
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params=%*
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
REM Run getadmin.vbs which will run YourScript.bat with UAC
"%temp%\getadmin.vbs"
REM Delete getadmin.vbs and exit
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
REM --------------------------End of getting superuser permissions--------------------------------------------