用WinExec呼叫DOS命令時「c」是什麼

2022-09-19 06:31:57 字數 5386 閱讀 4279

1樓:匿名使用者

cmd [/a | /u] [/q] [/d] [/e:on | /e:off] [/f:on | /f:off] [/v:on | /v:off]

[[/s] [/c | /k] string]

/c 執行字串指定的命令然後終斷

/k 執行字串指定的命令但保留

/s 在 /c 或 /k 後修改字串處理(見下)

/q 關閉迴應

/d 從登錄檔中停用執行 autorun 命令(見下)

/a 使向內部管道或檔案命令的輸出成為 ansi

/u 使向內部管道或檔案命令的輸出成為 unicode

/t:fg 設定前景/背景顏色(詳細資訊,請見 color /?)

/e:on 啟用命令擴充套件(見下)

/e:off 停用命令擴充套件(見下)

/f:on 啟用檔案和目錄名稱完成字元 (見下)

/f:off 停用檔案和目錄名稱完成字元(見下)

/v:on 將 ! 作為定界符啟動延緩環境變數擴充套件。如: /v:on 會

允許 !var! 在執行時允許 !var! 擴充套件變數 var。var 語法

在輸入時擴充套件變數,這與在一個 for 迴圈內不同。

/v:off 停用延緩的環境擴充套件。

請注意,如果字串有引號,可以接受用命令分隔符 '&&' 隔開

的多個命令。並且,由於相容原因,/x 與 /e:on 相同,/y 與

/e:off 相同,並且 /r 與 /c 相同。忽略任何其他命令列開關。

如果指定了 /c 或 /k,命令列開關後的命令列其餘部分將作為命令列處

理;在這種情況下,會使用下列邏輯處理引號字元("):

1. 如果符合下列所有條件,那麼在命令列上的引號字元將被

保留:- 不帶 /s 命令列開關

- 整整兩個引號字元

- 在兩個引號字元之間沒有特殊字元,特殊字元為下列中的

一個: <>()@^|

- 在兩個引號字元之間有至少一個空白字元

- 在兩個引號字元之間有至少一個可執行檔案的名稱。

2. 否則,老辦法是,看第一個字元是否是一個引號字元,如果

是,捨去開頭的字元並刪除命令列上 的最後一個引號字元,

保留最後一個引號字元之後的文字。

如果 /d 未在命令列上被指定,當 cmd.exe 開始時,它會尋找

以下 reg_sz/reg_expand_sz 登錄檔變數。如果其中一個或

兩個都存在,這兩個變數會先被執行。

hkey_local_machine\software\microsoft\command processor\autorun

和/或hkey_current_user\software\microsoft\command processor\autorun

命令擴充套件是按預設值啟用的。您也可以使用 /e:off,為某一

特定呼叫而停用擴充套件。您可以在機器上和/或使用者登入會話上

啟用或停用 cmd.exe 所有呼叫的擴充套件,這要通過設定使用

regedt32.exe 的登錄檔中的一個或兩個 reg_dword 值:

hkey_local_machine\software\microsoft\command processor\enableextensions

和/或hkey_current_user\software\microsoft\command processor\enableextensions

到 0x1 或 0x0。使用者特定設定比機器設定有優先權。命令列

開關比登錄檔設定有優先權。

命令列擴充套件包括對下列命令所做的更改和/或新增:

del 或 erase

color

cd 或 chdir

md 或 mkdir

prompt

pushd

popd

setsetlocal

endlocal

iffor

call

shift

goto

start (同時包括對外部命令呼叫所做的更改)

assoc

ftype

有關詳細資訊,請鍵入 help 命令名。

延遲變數環境擴充套件不按預設值啟用。您可以用/v:on 或 /v:off

命令列開關,為 cmd.exe 的某個呼叫而啟用或停用延遲環境變數擴充。

您可以在機器上和/或使用者登入會話上啟用或停用 cmd.exe 所有

呼叫的完成,這要通過設定使用 regedt32.exe 的登錄檔中的

一個或兩個 reg_dword 值:

hkey_local_machine\software\microsoft\command processor\delayedexpansion

和/或hkey_current_user\software\microsoft\command processor\delayedexpansion

到 0x1 或 0x0。使用者特定設定比機器設定有優先權。命令列開關

比登錄檔設定有優先權。

如果延遲環境變數擴充被啟用,驚歎號字元可在執行時間,被用來

代替一個環境變數的數值。

檔案和目錄名完成不按預設值啟用。您可以用 /f:on 或 /f:off

命令列開關,為 cmd.exe 的某個呼叫而啟用或停用檔名完成。 您可以

在機器上和/或使用者登入會話上啟用或停用 cmd.exe 所有呼叫的

完成,這要通過設定使用 regedt32.exe 的登錄檔中的一個或兩個

reg_dword 值:

hkey_local_machine\software\microsoft\command processor\completionchar

hkey_local_machine\software\microsoft\command processor\pathcompletionchar

和/或hkey_current_user\software\microsoft\command processor\completionchar

hkey_current_user\software\microsoft\command processor\pathcompletionchar

由一個控制字元的十六進位制值作為一個特定引數(例如,0x4 是

ctrl-d,0x6 是 ctrl-f)。 使用者特定設定優先於機器設定。命令列開關

優先於登錄檔設定。

如果完成是用 /f:on 命令列開關啟用的,兩個要使用的控制符是: 目錄名

字完成用 ctrl-d, 檔名完成用 ctrl-f。 要停用登錄檔中的某個

字元,請用空格(0x20)的數值,因為此字元不是控制字元。

如果鍵入兩個控制字元中的一個,完成會被呼叫。完成功能將

路徑字串帶到游標的左邊,如果沒有萬用字元,將萬用字元附加

到左邊,並建立相符的路徑列表。然後,顯示第一個相符的路

徑。如果沒有相符的路徑,則發出嘟嘟聲,不影響顯示。之後,

重複按同一個控制字元會迴圈顯示相符路徑的列表。將 shift 鍵

跟控制字元同時按下,會倒著顯示列表。如果對該行進行了任

何編輯,並再次按下控制字元,儲存的相符路徑的列表會被丟棄,

新的會被生成。如果在檔案和目錄名完成之間切換,會發生

同樣現象。兩個控制字元之間的唯一區別是檔案完成字元符合

檔案和目錄名,而目錄完成字元只符合目錄名。如果檔案完成

被用於內建式目錄命令(cd、md 或 rd),就會使用目錄完成。

將引號將相符路徑括起來,完成**可以正確處理含有空格

或其他特殊字元的檔名。同時,如果備份,然後從行內呼叫

檔案完成,完成被呼叫是位於游標右方的文字會被丟棄。

需要引號的特殊字元是:

&(){}^=;!'+,`~

2樓:康老師情感**

/c 是 執行字串指定的命令然後終止

如果是想在c建立個目錄12並且最小化 應該是c:\\12斜槓反了。

c++在執行system("cmd命令")時候如何遮蔽黑視窗出現? 5

3樓:匿名使用者

天...你們都在答啥呢

這是c++控制檯的框框,system那一條會讓程式停到jar完成之後所以說前面自己寫一條隱藏窗體

showwindow(getforegroundwindow(),0);//隱藏本程式頂層窗體

但是會有一閃而過

所以最好winmain

4樓:匿名使用者

system("cmd命令")呼叫是無法遮蔽黑視窗出現的。

可以改用其他api函式,winexec()或者shellexecute()或者createprocess()。

這些函式都有引數可以設定窗體是否隱藏。具體的引數說明可以參考msdn。

5樓:文正

這個要弄的話, 聽說非常麻煩~我以前也想到過, 但是因為聽說很麻煩, 所以也沒去看.

反正麻煩到建立執行緒啥的.

但其實基本上每個命令都對應的有相應的api函式, 你直接呼叫api函式就可以了 .

c++呼叫system函式,如何不彈cmd.exe程式視窗

6樓:金色潛鳥

命令列裡, 用 start /b 開始。

例如, 原來要 跑程式 b.exe, 程式輸出結果 顯示在 螢幕上。我們 用 start /b 取消視窗,用 > x.

txt 把螢幕 顯示內容 轉向到 檔案 x.txt 裡。呼叫:

system("start /b b.exe >> x.txt");

就可以了。

start 的 巧妙用法 見 幫助檔案。 拍 start /? 閱讀。

c語言呼叫cmd

7樓:匿名使用者

使用system()函式 或者winexec()函式 注意:system函式應包含標頭檔案,如果你想在他機上執行你的程式 應把msvcrt.dll檔案拷到你的程式目錄下(該檔案在%windir%\system32資料夾下可以找的) winexec函式為windows api 使用應包含 標頭檔案,第二個引數 可以是sw_show(顯示呼叫函式視窗),sw_hide(不顯示).

8樓:匿名使用者

#include //這個標頭檔案必須的,否則編譯器無法識別system命令!

int main()

9樓:匿名使用者

包含標頭檔案,呼叫的時候用

system("ping 127.0.0.1");

就可以了。

10樓:匿名使用者

標頭檔案system.h 函式system()

什麼是DOS命令?怎麼啟動DOS命令

通常所說的dos有兩種不同的概念,即拒絕服務或一種磁碟作業系統,通常dos o小寫 指的是拒絕服務,dos o大寫 指的是一種磁碟作業系統。dos是世界上使用人數最多的作業系統。儘管許多人由於種種原因而使用了其它作業系統或操作環境,如windows等,但是,由於dos確實非常方便實用,操作起來效率非...

dos命令如何重新命名這樣的目錄,DOS命令如何重新命名這樣的目錄

注意 一樓以為短名是固定的,其實不然,需要動態地獲取短名,如此複雜如下。echo off setlocal enabledelayedexpansionpushd d for f usebackq tokens 1 5 skip 5 a in dir ad x do set x e rem 只要有短...

常用的DOS命令有哪些,常用Dos命令有哪些

attrib 設定檔案屬性 ctty 改變控制裝置 defrag 磁碟碎片整理 doskey 呼叫和建立dos巨集命令 debug 程式除錯命令 emm386 擴充套件記憶體管理 fc 檔案比較 fdisk 硬碟分割槽 lh loadhigh 將程式裝入高階記憶體 move 移動檔案,改目錄名 mo...