2016-11-25 47 views
0

我想創建一個批處理文件,在對自身進行一些更改後啓動我的可執行文件。批量如何啓動程序

我的批處理文件是:

START /D "C:\Users\me\AppData\Roaming\Test\Test.exe" 

當我運行它,雖然我只獲得了短暫的控制檯閃光燈,將Test.exe啓動不起來。

我已驗證EXE在目錄中。 我已經手動啓動了exe文件來驗證它是否正常工作。

我的批處理文件位於

C:\Users\admin\AppData\Roaming\run.bat" 
+1

'/ D'裝置開始目錄。去掉它。 – Blorgbeard

+0

當我把它放在沒有/ d時,我得到一個命令提示符窗口,但我的Test.exe沒有啓動 – mocode8

+1

它可能認爲你的參數是一個標題(參見'start /?')。嘗試'開始「」「」c:\ users \ me \ appdata \ roaming \ test \ test.exe「'。 – Blorgbeard

回答

-1

嘗試改變這種

start /d "C:\Users\me\AppData\Roaming\Test" Test.exe 

您將看到控制檯閃光燈和你的程序應該啓動。

更新

感謝@SomethingDark的建議,使用下面的代碼。

start "" C:\Users\me\AppData\Roaming\Test\Test.exe 

但是,如果您的文件名包含空格,上述代碼將不起作用。

+1

你有一個額外的報價和'/ D'標誌不屬於。 – SomethingDark

+0

@SomethingDark謝謝。 「/ D標誌不屬於」是什麼意思? – active92

+0

這意味着取出並使用完整路徑。 '開始'「」C:\ Users \ me \ AppData \ Roaming \ Test \ Test。exe' – SomethingDark

2

這裏有兩個問題:

  1. /D選項單獨限定啓動或工作目錄,而不是要執行的程序。
  2. start命令將第一個引用的參數視爲新窗口的標題。爲避免與其他參數混淆,請始終提供一個窗口標題(也可能爲空)。

有兩個解決方案,這實際上是不完全等同:

  1. 取出/D選項,因此使用當前的工作目錄:

    start "" "C:\Users\me\AppData\Roaming\Test\Test.exe" 
    
  2. 保持/D選項並明確提供要使用的新工作目錄:

    start "" /D "C:\Users\me\AppData\Roaming\Test" "Test.exe"