回答
您可以使用exit關鍵字。這是從我的批處理文件中的一個例子:
start myProgram.exe param1
exit
看START命令,你可以這樣做:
START rest-of-your-program-name
例如,該批處理文件將等到記事本退出:
@echo off
notepad c:\test.txt
然而,這並不:
@echo off
start notepad c:\test.txt
你應該試試這個。它沒有窗口啓動程序。它實際上閃爍了一秒鐘,但相當快地消失。
start "name" /B myprogram.exe param1
``title'`選項很重要。如果程序的路徑包含空格,則必須用引號括起來,因此我們必須添加`「title」`來避免失敗。 – 2013-01-12 13:50:56
從我own question:
start /b myProgram.exe params...
的作品,如果你開始從現有DOS會話程序。
如果不是,則調用VB腳本
wscript.exe invis.vbs myProgram.exe %*
的Windows Script Host Run() method需要:
- intWindowStyle:0表示 「無形窗口」
- bWaitOnReturn:虛假意味着您的第一個腳本不需要等待你的第二個腳本完成
這裏是invi s.vbs:
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
+1有一個更簡單的方法,但這是唯一對我有效的答案。 – 2012-03-06 18:49:20
我的解決辦法從GUI做:
創建一個快捷方式,你要運行的程序;
編輯快捷鍵的屬性;
將
TARGET
字段更改爲%COMSPEC% /C "START "" "PROGRAMNAME""
;將
RUN
字段更改爲最小化。
準備就緒!看看你喜歡它...PS:可以在兩個最終引號之間插入程序參數; PROGRAMNAME
字符串可以是文件名,相對路徑或絕對路徑 - 如果您放入絕對路徑並擦除驅動器號和分號,則無論主機分配給它什麼字母,這都可以在拇指驅動器中工作。 ..(另外,如果將快捷方式放在同一個文件夾中,並在PROGRAMNAME
前加上%CD%
變量,路徑將始終匹配;同樣的技巧可用於START IN
字段中)。
這是唯一爲我工作,當我試圖從一個批處理文件運行一個Java類的東西:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
您可以自定義start
命令,只要你想爲你的項目,按照正確的語法:
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
使用start命令可防止批處理文件等待程序。只需記住在「開始」之後在您想要運行的程序前放置一個空的雙引號。 例如,如果你想從運行一個批處理命令的Visual Studio 2012:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
通知開始後雙引號。
如果此批處理文件是您想要按計劃或始終運行的;您可以使用Windows日程安排工具,並且它在啓動批處理文件時不會在窗口中打開。
要打開Task Scheduler
:
- 開始 - >運行/搜索 - >
'cmd'
- 類型
taskschd.msc
- >進入
從右側,單擊Create Basic Task
然後按照菜單。
希望這會有所幫助。
如何解決「空間的問題」和本地依賴性:
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit
這裏是我的首選解決方案。它是從一個answer採取類似的問題。
使用VBS腳本調用批處理文件:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
複製上面的線的編輯和保存.VBS擴展名的文件。
我是有這個問題,併爲我下面的工作:
run myprogram.exe param1
- 1. 從批處理文件開始在後臺啓動程序
- 2. 在沒有控制檯的情況下運行minGW控制檯程序
- 3. 從批處理文件啓動多個控制檯應用程序
- 4. 批處理文件:如何離開控制檯窗口打開
- 5. 如何在不顯示Win32 GUI程序的控制檯窗口的情況下執行子控制檯程序?
- 6. 如何在程序啓動之前執行批處理文件?
- 7. 在批處理文件我的控制檯應用程序
- 8. 批處理或VBS:運行控制檯程序
- 9. 使用批處理文件啓動java程序時隱藏控制檯窗口?
- 10. 如何在不等待批處理文件的情況下啓動應用程序?
- 11. 批處理文件完成後,批處理文件在「任務計劃程序」下運行,並繼續運行
- 12. 當Windows啓動時在後臺運行批處理文件
- 13. 使用批處理文件來運行多個控制檯應用程序
- 14. 從批處理文件(cmd)控制交互式控制檯程序
- 15. 在後臺運行批處理文件
- 16. 使用批處理文件控制檯應用程序設置
- 17. 如何使重啓系統後啓動任何程序的批處理文件?
- 18. 從控制檯運行時自動啓動Play2應用程序
- 19. 如何在不離開Objective-C中的應用程序的情況下啓動地圖應用程序?
- 20. 如何通過批處理腳本運行程序來啓動wav文件
- 21. 在關閉父批處理文件後在後臺運行服務(在批處理文件中啓動)
- 22. 如何從控制檯應用程序運行程序?
- 23. 如何在無需移動批處理文件的情況下
- 24. 在沒有控制檯窗口的情況下運行OpenCV應用程序
- 25. 批處理文件 - 每20分鐘後重新啓動程序
- 26. 只有在事件處理程序尚不存在的情況下,如何綁定事件處理程序?
- 27. 如何在後臺運行.NET控制檯應用程序
- 28. 如何在後臺運行控制檯應用程序(無UI)?
- 29. 如何在不打開GUI的情況下在控制檯中啓動apache tika?
- 30. 從批處理文件作爲管理員運行程序
注意這一點,如果您正在使用批處理文件控制檯交互,而不是僅僅雙擊將沒有好東西。通常幾乎沒有必要將`exit`放入批處理文件中。 – Joey 2011-04-19 07:34:36
我在Win8中試過這個命令。我不確定它是否不同,但請注意,您必須爲其提供一個Window標題作爲第一個參數。當我按照Patrick描述的方式運行它時,它只會打開一個帶有「myProgram.exe」作爲窗口標題的新命令提示符:「start」VPN「」C:\ Program Files(x86)\ Cisco \ Cisco AnyConnect安全移動Client \ vpnui.exe「` – 2013-05-01 06:39:30
請注意,如果您的命令包含空格並將其放入引號中,則必須在其之前添加一個額外的帶引號的參數,因爲START會將第一個帶引號的參數解釋爲窗口名稱,而只將下面的第二個參數作爲命令名稱。 – 2017-04-12 14:51:28