轉自博客:http://blog.csdn.net/ypist/article/details/8485049
#1,system()方式
在C盤根目錄下新建文件夾,名稱為12: system("md c://12");
執行時命令窗口會閃一下,看不到執行結果;
dos 自身提供了執行多條命令的功能,符號 && 代表同時執行多條命令。
如先切換到C下的12文件夾,然后執行dir命令:cd C:/12 && dir
暫停三秒后繼續程序:ping -w 3000 w > nul
暫停知道用戶按下任意鍵再執行dir命令:pause && dir
#2,WinExec()方式
獲得當前目錄下的文件列表:WinExec("cmd.exe /c dir > result.txt", SW_HIDE);
執行結果:在當前目錄新建文件result.txt,里面的內容就是dir命令的結果。
#3,ShellExecute()方式
打開cmd.exe然后在C盤下新建名為zzz的文件夾:ShellExecute(NULL,"open","c://WINDOWS//system32//cmd.exe","/c md c://zzz","",SW_SHOW);
ShellExecute不僅可以運行EXE文件,也可以運行已經關聯的文件。
首先必須引用shellapi.pas單元:uses ShellAPI;
1.標准用法
ShellExecute函數原型及參數含義如下:
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;
hWnd:用於指定父窗口句柄。當函數調用過程出現錯誤時,它將作為Windows消息窗口的父窗口。例如,可以將其設置為應用程序主窗口句柄,即 Application.Handle,也可以將其設置為桌面窗口句柄(用GetDesktopWindow函數獲得);
Operation:用於指定要進行的操作。其中“open”操作表示執行由FileName參數指定的程序,或打開由FileName參數指定的文件或文件夾;“print”操作表示打印由FileName參數指定的文件;“explore”操作表示瀏覽由FileName參數指定的文件夾。當參數設為nil時, 表示執行默認操作“open”;
FileName:用於指定要打開的文件名、要執行的程序文件名或要瀏覽的文件夾名;
Parameters:若FileName參數是一個可執行程序,則此參數指定命令行參數,否則此參數應為nil或PChar(0);
Directory:用於指定默認目錄;
ShowCmd:若FileName參數是一個可執行程序,則此參數指定程序窗口的初始顯示方式,否則此參數應設置為0。
若ShellExecute函數調用成功,則返回值為被執行程序的實例句柄。若返回值小於32,則表示出現錯誤。
2.特殊用法
如果將FileName參數設置為“http:”協議格式,那么該函數將打開默認瀏覽器並鏈接到指定的URL地址。若用戶機器中安裝了多個瀏覽器,則該函數將根據Windows 9x/NT注冊表中http協議處理程序(Protocols Handler)的設置確定啟動哪個瀏覽器。
格式一:http://網站域名。
如:ShellExecute(handle, ‘open’, http:// ; www.neu.edu.cn’ , nil, nil, SW_SHOWNORMAL);
格式二:http://網站域名/網頁文件名。
如:ShellExecute(handle, ‘open’, http:// ; www.neu.edu.cn/default.htm’,nil,nil , SW_SHOWNORMAL);
如果將FileName參數設置為“mailto:”協議格式,那么該函數將啟動默認郵件客戶程序,如Microsoft Outlook(也包括Microsoft Outlook Express),或Netscape Messanger。若用戶機器中安裝了多個郵件客戶程序,則該函數將根據Windows 9x/NT注冊表中mailto協議處理程序的設置確定啟動哪個郵件客戶程序。
格式一:mailto
如:ShellExecute(handle,‘open’, ‘mailto:’, nil, nil, SW_SHOWNORMAL);打開新郵件窗口;
格式二:mailto:用戶賬號@郵件服務器地址
如:ShellExecute(handle, ‘open’,‘ mailto:who@mail.neu.edu.cn’, nil, nil, SW_SHOWNORMAL);打開新郵件窗口,並自動填入收件人地址;
若指定多個收件人地址,則收件人地址之間必須用分號或逗號分隔開(下同)如:ShellExecute(this->m_hWnd,"open","mailto:nishinapp@yahoo.com","","",SW_SHOW); 這個可以激活Outlook Express。
格式三:mailto:用戶賬號@郵件服務器地址?subject=郵件主題&body=郵件正文
如:ShellExecute(handle, ‘open’, ‘ mailto:who@mail.neu.edu.cn?subject=Hello&Body=This is a test’, nil, nil, SW_SHOWNORMAL); 打開新郵件窗口,並自動填入收件人地址、郵件主題和郵件正文。若郵件正文包括多行文本,則必須在每行文本之間加入換行轉義字符%0a。
#4,ShellExecute()參數
最后的那個參數,為窗口指定可視性方面的一個命令。
請用下述任何一個常數
SW_HIDE 隱藏窗口,活動狀態給令一個窗口
SW_MINIMIZE 最小化窗口,活動狀態給令一個窗口
SW_RESTORE 用原來的大小和位置顯示一個窗口,同時令其進入活動狀態
SW_SHOW 用當前的大小和位置顯示一個窗口,同時令其進入活動狀態
SW_SHOWMAXIMIZED 最大化窗口,並將其激活
SW_SHOWMINIMIZED 最小化窗口,並將其激活
SW_SHOWMINNOACTIVE 最小化一個窗口,同時不改變活動窗口
SW_SHOWNA 用當前的大小和位置顯示一個窗口,不改變活動窗口
SW_SHOWNOACTIVATE 用最近的大小和位置顯示一個窗口,同時不改變活動窗口
SW_SHOWNORMAL 與SW_RESTORE相同
#5,windows的一些常用命令
winver---------檢查Windows版本
wmimgmt.msc----打開windows管理體系結構(WMI)
wupdmgr--------windows更新程序
wscript--------windows腳本宿主設置
write----------寫字板
winmsd---------系統信息
wiaacmgr-------掃描儀和照相機向導
winchat--------XP自帶局域網聊天
mem.exe--------顯示內存使用情況
Msconfig.exe---系統配置實用程序
mplayer2-------簡易widnows media player
mspaint--------畫圖板
mstsc----------遠程桌面連接
mplayer2-------媒體播放機
magnify--------放大鏡實用程序
mmc------------打開控制台
mobsync--------同步命令
dxdiag---------檢查DirectX信息
drwtsn32------ 系統醫生
devmgmt.msc--- 設備管理器
dfrg.msc-------磁盤碎片整理程序
diskmgmt.msc---磁盤管理實用程序
dcomcnfg-------打開系統組件服務
ddeshare-------打開DDE共享設置
dvdplay--------DVD播放器
net stop messenger-----停止信使服務
net start messenger----開始信使服務
notepad--------打開記事本
nslookup-------網絡管理的工具向導
ntbackup-------系統備份和還原
narrator-------屏幕“講述人”
ntmsmgr.msc----移動存儲管理器
ntmsoprq.msc---移動存儲管理員*作請求
netstat -an----(TC)命令檢查接口
syncapp--------創建一個公文包
sysedit--------系統配置編輯器
sigverif-------文件簽名驗證程序
sndrec32-------錄音機
shrpubw--------創建共享文件夾
secpol.msc-----本地安全策略
syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼
services.msc---本地服務設置
Sndvol32-------音量控制程序
sfc.exe--------系統文件檢查器
sfc /scannow---windows文件保護
tsshutdn-------60秒倒計時關機命令
tourstart------xp簡介(安裝完成后出現的漫游xp程序)
taskmgr--------任務管理器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打開資源管理器
packager-------對象包裝程序
perfmon.msc----計算機性能監測程序
progman--------程序管理器
regedit.exe----注冊表
rsop.msc-------組策略結果集
regedt32-------注冊表編輯器
rononce -p ----15秒關機
regsvr32 /u *.dll----停止dll文件運行
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盤檢查
certmgr.msc----證書管理實用程序
calc-----------啟動計算器
charmap--------啟動字符映射表
cliconfg-------SQL SERVER 客戶端網絡實用程序
Clipbrd--------剪貼板查看器
conf-----------啟動netmeeting
compmgmt.msc---計算機管理
cleanmgr-------好東西整理
ciadv.msc------索引服務程序
osk------------打開屏幕鍵盤
odbcad32-------ODBC數據源管理器
oobe/msoobe /a----檢查XP是否激活
lusrmgr.msc----本機用戶和組
logoff---------注銷命令
iexpress-------木馬捆綁工具,系統自帶
Nslookup-------IP地址偵測器
fsmgmt.msc-----共享文件夾管理器
utilman--------輔助工具管理器
gpedit.msc-----組策略
xp下運行命令大全.
$Systemroot$Documents and Settingsusername 目錄下
appwiz.cpl------------添加刪除程序
control userpasswords2--------用戶帳戶設置
cleanmgr-------垃圾整理
CMD--------------命令提示符可以當作是 Windows 的一個附件,Ping,Convert 這些不能在圖形環境下 使用的功能要借助它來完成。
cmd------jview察看Java虛擬機版本。
command.com------調用的則是系統內置的 NTVDM,一個 DOS虛擬機。它完全是一個類似 Virtual PC 的 虛擬環境,和系統本身聯系不大。當我們在命令提示符下運行 DOS 程序時,實際上也 是自動轉移到 NTVDM虛擬機下,和 CMD 本身沒什么關系。
calc-----------啟動計算器
chkdsk.exe-----Chkdsk磁盤檢查
compmgmt.msc---計算機管理
conf-----------啟動 netmeeting
control userpasswords2-----User Account 權限設置
devmgmt.msc--- 設備管理器
diskmgmt.msc---磁盤管理實用程序
dfrg.msc-------磁盤碎片整理程序
drwtsn32------ 系統醫生
dvdplay--------啟動Media Player
dxdiag-----------DirectX Diagnostic Tool
gpedit.msc-------組策略編輯器
gpupdate /target:computer /force 強制刷新組策略
eventvwr.exe-----事件查看器
explorer-------打開資源管理器
logoff---------注銷命令
lusrmgr.msc----本機用戶和組
msinfo32---------系統信息
msconfig---------系統配置實用程序
net start (servicename)----啟動該服務
net stop (servicename)-----停止該服務
notepad--------打開記事本
nusrmgr.cpl-------同control userpasswords,打開用戶帳戶控制面板
Nslookup-------IP地址偵測器
oobe/msoobe /a----檢查XP是否激活
perfmon.msc----計算機性能監測程序
progman--------程序管理器
regedit----------注冊表編輯器
regedt32-------注冊表編輯器
regsvr32 /u *.dll----停止dll文件運行
route print------查看路由表
rononce -p ----15秒關機
rsop.msc-------組策略結果集
rundll32.exe rundll32.exe %Systemroot%System32shimgvw.dll,ImageView_Fullscreen----啟動一個空白的Windows 圖片和傳真查看器
secpol.msc--------本地安全策略
services.msc---本地服務設置
sfc /scannow-----啟動系統文件檢查器
sndrec32-------錄音機
taskmgr-----任務管理器(適用於2000/xp/2003)
tsshutdn-------60秒倒計時關機命令
winchat--------XP自帶局域網聊天
winmsd---------系統信息
winver-----顯示About Windows 窗口
Windows XP的關機是由Shutdown.exe程序來控制的,位於Windows/System32文件夾中。如果想讓Windows 2000也實現同樣的效果,可以把Shutdown.exe復制到系統目錄下。
比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”, 這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鍾的倒計時並提示你保存工作。如果你想以倒計時的方式關機,可以輸入 “Shutdown.exe -s -t 3600”,這里表示60 分鍾后自動關機,“3600”代表60分鍾。
設置好自動關機后,如果想取消的話,可以在運行中輸入“shutdown -a”。另外輸入“shutdown -i”,則可以打開設置自動關機對話框,對自動關機進行設置。
Shutdown.exe的參數,每個都具有特定的用途,執行每一個都會產生不同的效果,比如 “-s”就表示關閉本地計算機,“-a”表示取消關機操作,下面列出了更多參數, 可以在Shutdown.exe中按需使用。
-f:強行關閉應用程序
-m //計算機名:控制遠程計算機
-i:顯示圖形用戶界面,但必須是Shutdown的第一個選項
-l:注銷當前用戶
-r:關機並重啟
-t 時間:設置關機倒計時
-c "消息內容":輸入關機對話框中的消息內容(不能超127個字符)
有時候,我們需要定時關閉計算機,下面介紹一個在Windows XP下實現定時關機的簡單方法。
指定系統在22分鍾后自動關閉:點擊“開始→運行”,在“打開”中輸入命令“Shutdown -s -t 1320”(注意:引號不輸入,參數之間有空格,1320的單位是秒),單擊“確定”
按鈕即可。
指定系統在某個時間(比如12:00)自動關閉:在“打開”中輸入命令
“at 12:00 Shutdown -s”即可。
取消定時關機:在“打開”中輸入命令“Shutdown -a”即可。
我常用的方式是第一種,簡單粗暴,也挺實用的!