如何编写一个BAT文件来始终以pipe理员模式运行?

我在我的BAT文件中有这条线:

"Example1Server.exe" 

我想以pipe理员模式执行此操作。 如何修改蝙蝠代码以pipe理员身份运行此?

它是否正确? 我需要把报价?

 runas /user:Administrator invis.vbs Example1Server.exe 

您使用runas以特定用户的身份启动程序:

 runas /user:Administrator Example1Server.exe 

另一个答案要求您inputpipe理员帐户密码。 此外,pipe理员组中的帐户下运行不同于pipe理员运行,请参阅维基百科上的UAC

Windows 7说明

为了以pipe理员身份运行,为batch file创build一个快捷方式。

  1. 右键单击该batch file,然后单击复制
  2. 导航到您想要的快捷方式
  3. 右键点击目录的背景
  4. select粘贴快捷方式

然后你可以设置以pipe理员身份运行的快捷方式:

  1. 右键单击该快捷方式
  2. select属性
  3. 在快捷方式选项卡中,单击高级
  4. 选中checkbox“以pipe理员身份运行”
  5. 点击确定,确定

现在,当你双击快捷方式时,它会提示你进行UAC确认,然后以pipe理员身份运行 (正如我上面所说的,它不同于在pipe理员组中的帐户下运行)

检查下面的截图

截图

注意:如果以pipe理员身份运行,当前目录(path)将不会与bat文件相同。 这在许多情况下会导致一些问题,即bat文件引用它旁边的相关文件。 例如,在我的Windows 7中,目录将是SYSTEM32而不是bat文件位置! 要解决它 ,你应该使用

cd %~dp0

或更好

pushd %~dp0

以确保目录与bat文件位于同一path。

如果您可以使用第三方实用程序,则这是一个elevate命令行实用程序 。

这是用法描述:

 Usage: Elevate [-?|-wait|-k] prog [args] -? - Shows this help -wait - Waits until prog terminates -k - Starts the the %COMSPEC% environment variable value and executes prog in it (CMD.EXE, 4NT.EXE, etc.) prog - The program to execute args - Optional command line arguments to prog 

使用此工具将batch file转换为.exe: http : //www.battoexeconverter.com/然后您可以以pipe理员身份运行它

我想我有一个解决密码问题。 这个单一的论点真的很棒。 它要求密码一次,而不是再次要求它。 即使你把它放到另一个程序,它也不会要求input密码。 这里是:

runas /user:Administrator /savecred Example1Server.exe

您可以使用nircmd.exe的提升命令

NirCmd命令参考 – 提升

 elevate [Program] {Command-Line Parameters} 

仅适用于Windows Vista / 7/2008:以pipe理员权限运行程序。 当[程序]包含一个或多个空格字符时,必须将其放在引号中。

例子:

 elevate notepad.exe elevate notepad.exe C:\Windows\System32\Drivers\etc\HOSTS elevate "c:\program files\my software\abc.exe" 

PS:我用它赢得10,它的工作原理

 go get github.com/mattn/sudo 

然后

 sudo Example1Server.exe