我正在为windows7编写dos批处理文件,它有许多需要提升运行访问权限的命令。升级我正在使用elevate.exe。我在下面做 -
set Elevation=elevate -wait cmd.exe /c
%Elevation% "cd /d %CD% && xcopy /E /Y ...."
%Elevation% "cd /d %CD% && command 2 .."
%Elevation% "cd /d %CD% && command 3 .."
%Elevation% "cd /d %CD% && command 4 .."
.....
我的脚本调用为cmd提升,然后为每个命令调用cd /d %CD%
,因为提升将工作路径更改为/ system32每次运行提升时,我都被迫更改目录。它还会提示用户输入" UAC"每个提升命令的对话框,所以十个这样的命令UAC提示会出现10次:cry:。我使用的命令是DOS命令(如xcopy,diskpart等)和其他一些第三方可执行文件的混合。所以有两个问题我需要一些帮助 -
非常欢迎任何帮助。
答案 0 :(得分:0)
您可以创建第二个批处理文件,其中包含所有命令,然后提升它。
注意:我将%CD%
更改为C:\YourFolder
,因为%CD%
是当前目录...因为您更改它是没有意义的已经进入了它。
cd /d C:\YourFolder
xcopy /E /Y ....
command 2 ..
command 3 ..
command 4 ..
从原始批处理文件中执行以下操作:
set Elevation=elevate -wait cmd.exe /c
%Elevation% "C:\YourFolder\SECOND.BAT"