2012-08-28 117 views
15

我想要一個批處理文件(必須放在桌面上),它執行以下操作;批處理文件在cmd目錄下運行命令

  • 打開CMD
  • 導航到的目錄中,例如C:\ activiti-5.9 \ setup
  • 在目錄中運行一個命令,例如,螞蟻demo.start(該命令運行Activiti的服務器)

我嘗試以下,以達到該目錄,但如何運行命令,「蟻族demo.start」?

START的cmd.exe/K 「CD C:\ Activiti的-5.9 \ SETUP」

謝謝你的幫助。

編輯:

參考zb226的下面回答:還有一個問題,如果你能回答我是如何使cmd命令以管理員身份運行?以下工作將會如何?使用&這樣

START cmd /K "runas /user:administrator & cd C:\activiti-5.9\setup & ant demo.start"

回答

12

對我來說,下面是工作和運行activiti服務器以及在瀏覽器中打開瀏覽器(在zb226的答案和評論的幫助下);

START "runas /user:administrator" cmd /K "cd C:\activiti-5.9\setup & ant demo.start"

START /wait localhost:8080/activiti-explorer

24

鏈任意命令:

command1 & command2 & command3 & ... 

因此,在您的特定情況下,就把這條線在批處理文件在桌面上:

START cmd.exe /k "cd C:\activiti-5.9\setup & ant demo.start" 

你也可以使用&&來鏈接命令,儘管這將執行錯誤檢查,並且如果其中一個e命令失敗。行爲詳細here

編輯:通過@詹姆斯K公司的評論好奇「你可以連的命令,但他們不會有任何效果」,我測試了一些讓我吃驚發現,該程序我在原來已開始測試 - firefox.exe - 雖然不存在於PATH環境變量的目錄中,但實際上可執行我的系統上的任何地方(這真的讓我很奇怪 - 請參閱答案的底部以便解釋)。所以實際上執行...

START cmd.exe /k "cd C:\progra~1\mozill~1 && firefox" 

......沒有證明解決方案正在工作。所以,我要確保這是我的系統上執行任意位置後選擇了另一個程序(nLite的):

START cmd.exe /k "cd C:\progra~1\nlite && nlite" 

這作品一樣我原來的答覆已經建議。 Windows版本沒有在問題中給出,但我使用Windows XP,順便說一句。


如果有人有興趣,爲什麼firefox.exe,而不是在PATH是,是可執行的任何地方對我的系統 - 和你很可能還有 - 這是由於其中的應用程序可以註冊可用的註冊表鍵值到處。詳情請參閱this SU answer

+0

您應該在發佈之前測試。你可以鏈接命令,但是它們不會起作用。 –

+0

非常感謝zb226,它爲我工作在同一個字符串,我能夠運行activiti服務器。 如果你能回答我的問題,還有一個問題是如何讓cmd以管理員身份運行?以下工作將會如何? 開始cmd/K「runas/user:administrator&cd C:\ activiti-5.9 \ setup&ant demo.start」 它實際上工作,但我不知道cmd是否在管理模式下運行或不。 – nommyravian

+0

這確實應該是一個單獨的問題,或者包含在你的原始問題中,但是在這裏你會發現:不,它不會以管理員身份運行。你已經在前面鏈接了'runas',但是你需要把我的答案作爲'runas'的參數。要做到這一點,需要轉義,並且'START'命令會帶來麻煩(但我不認爲你需要這樣做,因爲在桌面上點擊一個批處理文件會產生一個新窗口)。長話短說,試試這個:'runas/user:administrator「cmd.exe/k \」cd C:\ activiti-5.9 \ setup ^&ant demo.start \「」'。 – zb226

1

CMD.EXE不會執行字符串中包含的內部命令。只有實際的文件可以用該字符串啓動。

您將需要實際調用批處理文件來執行所需操作。

BAT1.bat

start cmd.exe /k bat2.bat 

BAT2.bat

cd C:\activiti-5.9\setup 
ant demo.start 

您可能希望創建一個名爲BAT文件夾,並添加它的位置到您的路徑。 因此,如果您創建C:\BAT,請將C:\BAT\;添加到路徑中。該路徑位於:

click -> Start -> right-click Computer -> Properties -> 
    click -> Avanced System Settings -> Environment Variables 
    select -> Path (From either list. User Variables are specific to 
        your profile, System Variables are, duh, system-wide.) 
    Click -> Edit 
Press the -> the [END] or [HOME] key. 
    Type -> C:\BAT\; 
    Click -> OK -> OK 

現在把C:\BAT所有的批處理文件,他們會發現,無論當前目錄。

+0

你確定使用內部命令?在我的最後,與'&'鏈接工作得很好(請參閱[我的答案](http://stackoverflow.com/a/12168950/1529709))。但是如果我錯過了一些東西,請詳細說明,學習永遠不會是一件壞事:) – zb226

+0

嗯,**我從來沒有得到內部命令來執行這種方式(儘管它會以這種方式運行實際文件)。我想我可能會錯過一些東西,但是我已經在Windows 7 Ultimate,XP,2000 Server和98上嘗試過了。不完全詳盡的測試,但結果一致。 –

0

礦DID以便執行命令。這裏是我的,我使用它的是什麼版本:

START的cmd.exe/K 「U:& CD U:\ Design_stuff \ new_lcso_website_2017 &蟒蛇-m http.server」

我需要

  1. 更改我的U盤
  2. CD到特定文件夾中包含網站,我重新設計
  3. 執行Python與HTTP服務器模塊(顯示在瀏覽器中的內容)。

如果這些命令出現故障,它將不會顯示正確的文件。我最初忘了更改爲U:,並在我的桌面上運行該批處理文件,它在我的瀏覽器中創建了一個網頁http://localhost:8000,向我顯示了我的桌面內容而不是我想要的文件夾。

-2

您還可以檢查它:

CMD/C CD/d C:\ Activiti的-5.9 \ SETUP &螞蟻demo.start

3

這個問題是5歲。我想知道爲什麼仍然沒有人發現/d開關設置工作文件夾:

start /d "c:\activiti-5.9\setup" cmd /k ant demo.start 
相關問題