用c語言的system函數打開一個文件,system("cmd /c start out.txt")和system("out.txt")都可以,請問這兩個有什麼區別
C:>start /?
啟動另一個窗口運行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/AFFINITY ] [/WAIT] [/B] [command/program]
[parameters]
"title" 在窗口標題欄中顯示的標題。
path 啟動目錄
B 不創建新窗口啟動應用程序。除非啟用
^C 處理,否則該應用程序會忽略 ^C
處理;^Break 是唯一可以中斷該應用
程序的方式
I 新環境是傳遞給 cmd.exe 的原始環境,
而不是當前環境。
MIN 啟動窗口最小化
MAX 啟動窗口最大化
SEPARATE 在分離內存空間啟動 16-位 Windows 程序
SHARED 在共享內存空間啟動 16-位 Windows 程序
LOW 在 IDLE 優先級類中啟動應用程序
NORMAL 在 NORMAL 優先級類中啟動應用程序
HIGH 在 HIGH 優先級類中啟動應用程序
REALTIME 在 REALTIME 優先級類中啟動應用程序
ABOVENORMAL 在 ABOVENORMAL 優先級類中啟動應用程序
BELOWNORMAL 在 BELOWNORMAL 優先級類中啟動應用程序
AFFINITY 新應用程序將擁有指定處理器關系掩碼,
以十六進制數表示。
WAIT 啟動應用程序並等待它結束
command/program
如果是內部 cmd 命令或批文件,那麼
該命令處理器是用 /K 命令行開關運行
cmd.exe 的。這表示該窗口在命令運行後
仍然存在。
如果不是內部 cmd 命令或批文件,則是
一個程序,並作為窗口應用程序或控制台
應用程序運行。
parameters 這些是傳送到命令/程序的參數
如果命令擴展被啟用,通過命令行或 START 命令的外部命令
調用會如下改變:
將文件名作為命令鍵入,非可執行文件可以通過文件關聯調用。
(例如,WORD.DOC 會調用跟 .DOC 文件擴展名關聯的應用程序)。
關於如何從命令腳本內部創建這些關聯,請參閱 ASSOC 和
FTYPE 命令。
執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用
程序終止就返回命令提示符。如果在命令腳本內執行,該新行為
則不會發生。
如果執行的命令行的第一個符號是不帶擴展名或路徑修飾符的
字符串 "CMD","CMD" 會被 COMSPEC 變量的數值所替換。這
防止從當前目錄提取 CMD.EXE。
如果執行的命令行的第一個符號沒有擴展名,CMD.EXE 會使用
PATHEXT 環境變量的數值來決定要以什麼順序尋找哪些擴展
名。PATHEXT 變量的默認值是:
.COM;.EXE;.BAT;.CMD
請注意,該語法跟 PATH 變量的一樣,分號隔開不同的元素。
查找可執行文件時,如果沒有相配的擴展名,看一看該名稱是否
與目錄名相配。如果確實如此,START 會在那個路徑上調用
Explorer。如果從命令行執行,則等同於對那個路徑作 CD /D。