我已经创建了一个用于运行setup.exe的批处理文件(下面的代码),但是我遇到了将setup.exe变为"以管理员身份运行的问题"。我使用了this指南(快捷方法)来获取帮助。
volatile Runnable feedToBuffer = new Runnable()
{
@Override
public synchronized void run()
{
if(boolean)
{
MethodA();
}
else
{
MethodB();
}
}
注意:我的文件最终会被刻录到DVD磁盘上。它们目前位于volatile Runnable feedToBuffer = new Runnable()
{
@Override
public synchronized void run()
{
if(boolean)
{
//Code that was in MethodA
}
else
{
//Code that was in MethodB
}
}
}
目录中。
批处理文件代码在运行批处理文件时(即不运行快捷方式)运行setup.exe(没有管理员权限)。
但是,当我通过快捷方式运行批处理文件时,Windows会显示错误start "" %CD%\Setup.exe
。
setup.exe目录不在system32文件夹中。为什么运行批处理文件会发现setup.exe正常,但是当我通过快捷方式运行它时(因此我可以以管理员身份运行setup.exe)?
答案 0 :(得分:3)
您可以在快捷方式本身中设置工作目录,也可以不从工作目录(%CD%
)运行Setup.exe,而是从脚本所在的目录运行:
start "" "%~dp0\Setup.exe"
与之前的答案不同的是,cd
到%~dp0
不需要stage("check out project") {
shell "pwd"
echo "test 1"
git credentialsId: "user", url: "http://url/project"
echo "test 2"
shell "git --version"
echo "test 3"
}
。只需以完整路径运行设置。
答案 1 :(得分:2)
默认情况下,管理员特权脚本从C:\Windows\system32\
尝试将cd /d "%~dp0"
放在脚本的开头,该^(проезд|пл|пр-кт|пер|наб|линия|км|б-р|аллея|кв-л)\s(.+)$(?<!\))
^^^^^^^
应该change the work directory到脚本的一个。如果要使用admin创建快捷方式,可以检查this命令行的权限。