2011-07-25 39 views
91

我這行我的BAT文件中:如何將BAT文件編碼爲始終以管理員模式運行?

"Example1Server.exe" 

我想在管理員模式下執行此操作。如何修改蝙蝠代碼以管理員身份運行此代碼?

這是正確的嗎?我需要把報價?

runas /user:Administrator invis.vbs Example1Server.exe 
+1

參見https://stackoverflow.com/questions/7690994/powershell-running-a-command-as-administrator –

+1

也https://stackoverflow.com/questions/見7044985 /我怎麼可以自動提升我的批處理文件所以它請求從uac管理員 –

回答

41

您使用runas啓動一個程序作爲一個特定的用戶:

runas /user:Administrator Example1Server.exe 
+0

需要把引號? – karikari

+5

@karikari:像這樣的名稱('Example1Server.exe')不需要放在引號中,但在其他一些情況下(如名稱中的空格:'Example1 Server.exe'),您確實需要它們。不過,即使不需要,你也可以使用引號。 –

+11

管理員帳戶可能未被命名管理員 – Anders

281

對方回答要求您輸入管理員帳戶密碼。此外,在管理員組的帳戶下運行是不一樣的以管理員身份運行看到:UAC on Wikipedia

Windows 7的說明

爲了以管理員身份運行,創建一個快捷方式批處理文件。

  1. 右鍵單擊該批處理文件,然後單擊
  2. 導航複製到你想要的快捷
  3. 右鍵單擊目錄的背景
  4. 選擇粘貼快捷方式

然後你可以設置以管理員身份運行的快捷方式:

  1. 用鼠標右鍵單擊該快捷方式
  2. 選擇屬性
  3. 在快捷方式選項卡上,單擊高級
  4. 選擇勾選「以管理員身份運行」
  5. 點擊OK,OK

現在,當您雙擊該快捷方式它會提示您進行UAC確認,然後以管理員身份運行(正如我上面所說的不同於在管理員組中的帳戶下運行)

檢查下面的截圖

Screenshot

注: 當你這樣做以管理員身份運行,當前目錄(路徑)將不一樣的bat文件。這在許多情況下會導致一些問題,即bat文件引用它旁邊的相關文件。例如,在我的Windows 7中,目錄將是SYSTEM32而不是bat文件位置! To workaround it,你應該使用

cd %~dp0

或更好

pushd %~dp0

確保CUR DIR處於在bat文件是相同的路徑。

+7

嗯,這確實是隱藏的(我們大多數人並不認爲那個高級按鈕裏面有這個選項)。我幾乎可以肯定,想到其他複雜答案的人不知道這一點。這是90%以上的訪問者需要的答案。 –

+0

http://stackoverflow.com/a/12264592/999943 – phyatt

+1

我同意。這應該是答案。我還添加了屏幕快照,以便更容易地找到** advance **按鈕 – fedmich

8

如果您可以使用第三方實用程序here is an elevate command line utility

這是使用說明:

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 
5

轉換您的批處理文件導入的.exe使用這個工具:http://www.battoexeconverter.com/那麼你可以以管理員身份運行

+1

請記住,許多反病毒對以這種方式構建的exe文件超級敏感。以這種方式「轉換/加密」批處理文件是惡意程序使用的舊方法。 – David

+0

如果您使用Symantec分析此域 - 威脅類型:其他惡意軟件 威脅原因:域報告並驗證爲惡意軟件服務。被識別爲惡意網域或網址。 – Sunil

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18860633) – AsifAli72090

1

您可以使用nircmd.exeelevate命令

NirCmd命令參考 - 提升

elevate [Program] {Command-Line Parameters} 

僅適用於Windows Vista/7/2008:使用管理員權限運行程序。當[程序]包含一個或多個空格字符時,必須將其放在引號中。

例子:

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

PS:我用它在Win 10和它的作品

1
go get github.com/mattn/sudo 

然後

sudo Example1Server.exe 
3

我想我有一個解決密碼問題。 這個單一的論點真的很棒。它要求密碼一次,並且再也不要求它。即使你把它放到另一個程序中,它也不會要求輸入密碼。這裏是:

runas /user:Administrator /savecred Example1Server.exe

相關問題