① c語言如何運行cmd命令
可以,system裡面傳入的是一個字元串,你可以先將時間寫進這個字元串,然後再將這個字元串使用system函數來使用就行了。
② 如何在cmd命令里運行c語言程序
設C語言可執行程序c2.exe在d:Win-TC_ch的目錄下,在Windows7命令行中運行c2.exe程序步驟如下:開始-運行-cmd-d:回車-cdd:Win-TC_ch回車-c2.exe回車。
命令行執行過程見下圖
③ 關於C語言執行CMD命令的問題
問題1,要用絕對路徑,否則就認為是在當前目錄中的。
問題2,單獨的\會和後面的字元一起被系統理解為是轉義字元,不會解釋為斜線,要用斜線,就寫成\\
④ c語言cmd窗口在哪
ㄑ
m.wangchao.net.cn
推薦
cmd窗口是什麼,怎麼打開
舉報/糾錯
分類: 電腦/網路 >> 操作系統/系統故障
參考答案:
cmd是command的縮寫.命令行
在9x系統下輸入command就可以打開命令行.而在NT系統上可以輸入cmd來打開.
在命令行里你可以看到你的系統版本,文件系統版本等等
你可以敲入help查看幫助
Cmd啟動命令解釋器 Cmd.exe 的新實例。如果在不含參數的情況下使用,則 cmd 顯示 Windows XP 的版本和版權信息。
語法
cmd [[{/c|/k}] [/s] [/q] [/d] [{/a|/u}] [/t:fg] [/e:{on|off}] [/f:{on|off}] [/v:{on|off}] string]
參數
/c
執行 string 指定的命令,然後停止。
/k
執行 string 指定的命令並繼續。
/s
修改位於 /c 或 /k 之後的 string 處理。
/q
關閉回顯。
/d
禁用自動運行命令執行。
/a
創建美國國家標准協會 (ANSI) 輸出。
/u
創建 Unicode 輸出。
/t:fg
設置前景 f 和背景 g 的顏色。下表列出了可用作 f 和 g 的值的有效十六進制數字。 值 顏色
0 黑色
1 藍色
2 綠
3 湖藍色
4 紅
5 紫色
6 黃
7 白色
8 灰色
9 淺藍色
A 淺綠色
B 淺水綠
C 淺紅色
D 淺紫色
E 淺黃色
F 亮白色
/e:on
啟用命令擴展。
/e:off
禁用命令擴展。
/f:on
啟用文件和目錄名完成。
/f:off
禁用文件和目錄名完成。
/v:on
啟用延遲的環境變數擴展。
/v:off
禁用延遲的環境變數擴展。
string
指定要執行的命令。
/?
在命令提示符顯示幫助。
注釋
使用多個命令
可以在 string 中使用由 && 分隔的多個命令,不過這些命令必須置於引號之中(例如,"command&&command&&command")。
處理引號
如果指定了 /c 或 /k,則在滿足下述所有條件的情況下,cmd 會處理 string 中的其餘命令而將引號保留:
未使用 /s。
正確使用一對引號。
在引號內未使用任何特殊字元(例如: &<>( ) @ ^ |}。
在引號內使用了一個或多個空格子符。
引號內的 string 為可執行文件的名稱。
如果上述條件不能滿足,則處理 string 時將首先檢查它的第一個字元以驗證其是否為左引號。如果第一個字元是左引號,則它會與右引號分離開。跟在右引號之後的任何文本都會得到保留。
執行注冊表子項
如果在 string 中未指定 /d,Cmd.exe 會查找下述注冊表子項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun REG_EXPAND_SZ
如果上述的一個注冊表子項或兩個都存在,則會在執行其他變數之前執行它們。
警告
編輯注冊表不當可能會嚴重損壞您的系統。在更改注冊表之前,應備份計算機上任何有價值的數據。
啟用和禁用命令擴展
在 Windows XP 中,命令擴展在默認情況下是啟用的。對於特定過程可以使用 /e:off 將它們禁用。通過設置下述 REG_DWORD 值,可以在計算機上或用戶會話中啟用或禁用所有 cmd 命令行選項的擴展:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
在注冊表中使用 Regedit.exe 可以將 REG_DWORD 值設為 0×1(即啟用)或 0×0(即禁用)。用戶特定設置優先於計算機設置,並且命令行選項優先於注冊表設置。
警告
編輯注冊表不當可能會嚴重損壞您的系統。在更改注冊表之前,應備份計算機上任何有價值的數據。
啟用命令擴展後,會影響到下述命令:
assoc
call
chdir (cd)
color
del (erase)
endlocal
for
ftype
goto
if
mkdir (md)
popd
prompt
pushd
set
setlocal
shift
start(還包括將更改外部命令過程)
有關這些命令的詳細信息,請參閱「相關主題」。
啟用延遲的環境變數擴展
啟用延遲的環境變數擴展,可以使用感嘆號字元來替代運行時的環境變數值。
啟用文件和目錄名完成
默認情況下,禁用文件和目錄名完成。對於特定的 cmd 命令處理,可以通過 /f:{on|off} 來啟用或禁用該功能。通過設置下述 REG_DWORD 值,可以在計算機上或用戶會話中啟用或禁用所有 cmd 命令處理的文件和目錄名完成:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
要設置 REG_DWORD 值,請運行 Regedit.exe 並使用特定功能的控制字元的十六進制值(例如,用 0×9 表示 TAB 鍵,用 0×08 表示 BACKSPACE 鍵)。用戶特定設置優先於計算機設置,並且命令行選項優先於注冊表設置。
警告
編輯注冊表不當可能會嚴重損壞您的系統。在更改注冊表之前,應備份計算機上任何有價值的數據。
如果使用 /f:on 啟用了文件和目錄名完成,則對於目錄名完成,可使用 CTRL+D 組合鍵;而對於文件名完成,可使用 CTRL+F 組合鍵。要禁用注冊表中特定字元的完成,請使用空格值 [0×20],因為空格不是有效的控制字元。
按 CTRL+D 或 CTRL+F 組合鍵時,cmd 會處理文件和目錄名的完成操作。這些組合鍵的作用是在 string 後附加通配符(如果還未使用),並創建匹配的路徑列表,然後顯示第一個匹配的路徑。如果所有路徑都不匹配,文件和目錄名完成操作會發出警告聲,並且不更改所顯示的內容。要逐個查看匹配路徑列表中的路徑,請重復按 CTRL+D 或 CTRL+F 組合鍵。要向後查看該列表,請在按 SHIFT 的同時按 CTRL+D 或 CTRL+F 組合鍵。要放棄已保存的匹配路徑列表並生成新列表,可以編輯 string,然後按 CTRL+D 或 CTRL+F 組合鍵。如果在 CTRL+D 和 CTRL+F 組合鍵之間切換,將會放棄已保存的匹配路徑列表並生成新列表。CTRL+D 組合鍵與 CTRL+F 組合鍵之間唯一的不同在於,CTRL+D 僅匹配目錄名,而 CTRL+F 既匹配文件名,又匹配目錄名。如果在任何內部目錄命令(CD、MD 或 RD)中使用文件和目錄名的完成,將僅使用目錄的完成。
如果將匹配路徑置於引號之中,則文件和目錄名完成會正確地處理含有空格或特殊字元的文件名。
下述特殊字元需要有引號:& < > [ ] { } ^ = ; ! ' + , ` ~ [white space]
如果您提供的信息包含空格,請將文本置於引號之中(例如,"Computer Name")。
如果從 string 中處理文件和目錄名完成操作,則位於游標右側的 [Path] 的任意部分都將放棄(即在 string 中處理完成操作的位置)。
格式化圖例
格式 含義
斜體 用戶必須提供的信息
粗體 用戶必須像顯示的一樣准確鍵入的元素
省略號 (...) 可在命令行中重復多次的參數
在括弧 ([]) 之間 可選項目
在大括弧 ({}) 之間;將選項用豎線 (|) 隔開。例如:{even|odd} 用戶必須從中只選擇一個選項的選項組
Courier 字體 代碼或程序輸出
⑤ 如何在C語言中調用cmd命令
在C語言中調用shell命令的方法實現。
C程序調用shell腳本共有兩種方法 :system()、popen(),分別如下:
system()
不用自己去創建進程,系統已經封裝了這一步,直接加入自己的命令即可
popen() 也可以實現執行的命令,比system
開銷小
以下分別說明:
1)system(shell命令或shell腳本路徑);
system()
會調用fork()產生 子歷程,由子歷程來調用/bin/sh-c string來履行 參數string字元串所代表的命令,此命令履行
完後隨即返回原調用的歷程。在調用system()期間SIGCHLD 信號會被暫時擱置,SIGINT和SIGQUIT 信號則會被漠視 。
返
回值:如果system()在調用/bin/sh時失敗則返回127,其他失敗原因返回-1。若參數string為空指針(NULL),則返回非零值。 如果
system()調用成功 則最後會返回履行 shell命令後的返回值,但是此返回值也有可能為system()調用/bin/sh失敗所返回的127,因
此最好能再反省 errno 來確認履行 成功 。
system命令以其簡略
高效的作用得到很很廣泛 的利用 ,下面是一個例子
例:在/tmp/testDir/目錄下有shell腳本tsh.sh,內容為
#!/bin/sh
wget $1
echo "Done!"
2)popen(char
*command,char *type)
popen()
會調用fork()產生 子歷程,然後從子歷程中調用/bin/sh -c來履行 參數command的指令。參數type可應用
「r」代表讀取,「w」代表寫入。遵循此type值,popen()會建立 管道連到子歷程的標准 輸出設備 或標准 輸入設備
,然後返回一個文件指針。隨後歷程便可利用 此文件指針來讀取子歷程的輸出設備 或是寫入到子歷程的標准 輸入設備 中。此外,所有應用 文
件指針(FILE*)操作的函數也都可以應用 ,除了fclose()以外。
返回值:若成功
則返迴文件指針,否則返回NULL,差錯 原因存於errno中。注意:在編寫具SUID/SGID許可權的程序時請盡量避免應用
popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。
例:C程序popentest.c內容如下:
#include<stdio.h>
main
{
FILE * fp;
charbuffer[80];
fp=popen(「~/myprogram/test.sh」,」r」);
fgets(buffer,sizeof(buffer),fp);
printf(「%s」,buffer);
pclose(fp);
}