打開"運行"對話框(Win+R),輸入cmd,打開控制檯命令窗口...shell
也能夠經過cmd /c 命令 和 cmd /k 命令的方式來直接運行命令windows
注:/c表示執行完命令後關閉cmd窗口;/k表示執行完命令後保留cmd窗口緩存
複製內容:右鍵彈出快捷菜單,選擇「標記(K)」,而後選中所需複製的內容,而後右鍵便可安全
粘貼內容:右鍵彈出快捷菜單,選擇「粘貼(P)」服務器
在文件夾空白處按住Shift,而後右鍵彈出快捷菜單,能夠看到「在此處打開命令行窗口」網絡
使用上下方向鍵,翻看使用過的命令架構
tab補齊功能app
命令參數的路徑:要使用反斜槓'',不要使用正斜槓'/' 如:del d:\test2\file\my.txttcp
命令參數的路徑:若存在空格,應使用雙引號將路徑引發來 如:del "d:\program files\file\my.txt"編輯器
文件及目錄名中不能包含下列任何字符: / : * ? " < > |
rem // 在批處理文件中添加註解,其後的命令不會被執行,但會回顯
:: // ::也能夠起到rem的註釋做用,且不會有回顯
任何以冒號:開頭的字符行, 在批處理中都被視做標號(label), 而直接忽略其後的全部內容
有效標號:冒號後緊跟一個以字母數字開頭的字符串,goto語句能夠識別
無效標號:冒號後緊跟一個非字母數字的一個特殊符號,goto沒法識別的標號,能夠起到註釋做用,::常被用做註釋符號
command /? // 查看command命令幫助說明
Ctrl + Z
cd 切換目錄
例:cd // 顯示當前目錄
例:cd .. // 進入父目錄
例:cd /d d: // 進入上次d盤所在的目錄(或在直接輸入:d:)
例:cd /d d: // 進入d盤根目錄
例:cd d: // 顯示上次d盤所在的目錄
例:cd /d d:\src // 進入d:\src目錄
例:cd prj\src\view // 進入當前目錄下的prj\src\view文件夾
pushd popd 使用棧來維護當前目錄
md d:\mp3 // 在C:\創建mp3文件夾
md d:\mp4 // 在D:\創建mp4文件夾
cd /d d:\mp4 // 更改當前目錄爲d:\mp4
pushd c:\mp3 // 將當前目錄d:\mp4入棧,並切換當前目錄爲c:\mp3
popd // 將剛纔保存的d:\mp4彈棧,並設置爲當前目錄
dir 顯示目錄中的內容
例:dir // 顯示當前目錄中的子文件夾與文件
例:dir /b // 只顯示當前目錄中的子文件夾與文件的文件名
例:dir /p // 分頁顯示當前目錄中的子文件夾與文件
例:dir /ad // 顯示當前目錄中的子文件夾
例:dir /a-d // 顯示當前目錄中的文件
例:dir c:\test // 顯示c:\test目錄中的內容
例:dir keys.txt // 顯示當前目錄中keys.txt的信息
例:dir /S // 遞歸顯示當前目錄中的內容
例:dir key* // 顯示當前目錄下以key開頭的文件和文件夾的信息
例:dir /AH /OS // 只顯示當前目錄中隱藏的文件和目錄,並按照文件大小從小到大排序
tree 顯示目錄結構
例:tree d:\myfiles // 顯示d:\myfiles目錄結構
ren 文件或目錄重命名
例:ren rec.txt rec.ini // 將當前目錄下的rec.txt文件重命名爲rec.ini
例:ren c:\test test_01 // 將c盤下的test文件夾重命名爲test_01
例:ren Logs.txt Logs-%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%.txt // 將當前目錄下的Logs.txt文件重命名爲Logs-20150114_2135.txt或Logs-20150114 812.txt(注意:小時只有個位數時會多一個空格,可使用字符串替換:將空格替換成0)
md 建立目錄
例:md movie music // 在當前目錄中建立名爲movie和music的文件夾
例:md d:\test\movie // 建立d:\test\movie目錄
rd 刪除目錄
例:rd movie // 刪除當前目錄下的movie空文件夾
例:rd /s /q d:\test // 使用安靜模式刪除d:\test(除目錄自己外,還將刪除指定目錄下的全部子目錄和文件)
copy 拷貝文件
例:copy key.txt c:\doc // 將當前目錄下的key.txt拷貝到c:\doc下(若doc中也存在一個key.txt文件,會詢問是否覆蓋)
例:copy jobs c:\doc // 將當前目錄下jobs文件夾中文件(不遞歸子目錄)拷貝到c:\doc下(若doc中也存在相應的文件,會詢問是否覆蓋)
例:copy key.txt c:\doc\key_bak.txt // 將當前目錄下的key.txt拷貝到c:\doc下,並重命名爲key_bak.txt(若doc中也存在一個key_bak.txt文件,會詢問是否覆蓋)
例:copy /Y key.txt c:\doc // 將當前目錄下的key.txt拷貝到c:\doc下(不詢問,直接覆蓋寫)
例:copy key.txt + // 複製文件到本身,其實是修改了文件日期
例:copy /Y key1.txt + key2.txt key.txt // 將當前目錄下的key1.txt與key2.txt的內容合併寫入key.txt中(不詢問,直接覆蓋寫)
例:copy /B art_2.7z.* art_2.7z // 將當前目錄下的art_2.7z.開頭的全部文件(按照名稱升序排序)依次合併生成art_2.7z
例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z // 將當前目錄下的art_2.7z.00一、art_2.7z.002文件合併生成art_2.7z
xcopy 更強大的複製命令
例:xcopy c:\bat\hai d:\hello /y /h /e /f /c // 將c:\bat\hai中的全部內容拷貝到d:\hello中 注意:須要在hello後加上 表示hello爲一個目錄,不然xcopy會詢問hello是F,仍是D
例:xcopy c:\bat\hai d:\hello /d:12-29-2010 // 將c:\bat\hai中的2010年12月29往後更改的文件拷貝到d:\hello中
move 移動文件
例:move *.png test // 將當前目錄下的png圖片移動到當前目錄下test文件夾中 (若test中也存在同名的png圖片,會詢問是否覆蓋)
例:move /Y *.png test // 將當前目錄下的png圖片移動到當前目錄下test文件夾中 (不詢問,直接覆蓋寫)
例:move 1.png d:\test\2.png // 將當前目錄下的1.png移動到d盤test文件夾中,並重命名爲2.png (若test中也存在同名的png圖片,會詢問是否覆蓋)
例:move test d:\new // 若d盤中存在new文件夾,將當前目錄下的test文件夾移動到d盤new文件夾中;若不存在,將當前目錄下的test文件夾移動到d盤,並重命名爲new
del 刪除文件 注意:目錄及子目錄都不會刪除
例:del test // 刪除當前目錄下的test文件夾中的全部非只讀文件(子目錄下的文件不刪除;刪除前會進行確認;等價於del test*)
例:del /f test // 刪除當前目錄下的test文件夾中的全部文件(含只讀文件;子目錄下的文件不刪除;刪除前會進行確認;等價於del /f test*)
例:del /f /s /q test d:\test2*.doc // 刪除當前目錄下的test文件夾中全部文件及d:\test2中全部doc文件(含只讀文件;遞歸子目錄下的文件;刪除前不確認)
++++++++++++++++++++++
/ar、/ah、/as、/aa 分別表示刪除只讀、隱藏、系統、存檔文件
/a-r、/a-h、/a-s、/a-a 分別表示刪除除只讀、隱藏、系統、存檔之外的文件
++++++++++++++++++++++
例:del /ar . // 刪除當前目錄下全部只讀文件
例:del /a-s . // 刪除當前目錄下除系統文件之外的全部文件
replace 替換文件【即便這個文件在使用,仍然能夠替換成功】
例:replace d:\love.mp3 d:\mp3 // 使用d盤下的love.mp3強制替換d盤mp3目錄中的love.mp3文件
mklink 建立符號連接(win7引入);建立的符號連接文件上會有一個相似快捷方式的箭頭
win7下的mklink命令經過指定參數能夠創建出不一樣形式的文件或目錄連接,分爲硬連接(hard link)、符號連接(symbolic link)和目錄聯接(junction)三種。
(1) 符號連接(symbolic link)
創建一個軟連接至關於創建一個文件(或目錄),這個文件(或目錄)用於指向別的文件(或目錄),和win的快捷方式有些相似。
刪除這個連接,對原來的文件(或目錄)沒有影像沒有任何影響;而當你刪除原文件(或目錄)時,再打開連接則會提示「位置不可用」。
(2) 目錄聯接(junction)
做用基本和符號連接相似。區別在於,目錄聯接在創建時會自動引用原目錄的絕對路徑,而符號連接容許相對路徑的引用。
(3) 硬連接(hard link)
創建一個硬連接至關於給文件創建了一個別名,例如對1.txt建立了名字爲2.txt的硬連接;
若使用記事本對1.txt進行修改,則2.txt也同時被修改,若刪除1.txt,則2.txt依然存在,且內容與1.txt同樣。
創建連接請注意:
a、創建文件或目錄連接限於 NTFS 文件系統;符號連接(目錄聯接)的創建能夠跨分區(如:在d盤能夠創建c盤文件或目錄的連接),硬連接只能創建同一分區內的文件指向
b、硬連接只能用於文件,不能用於目錄;目錄聯接只能用於目錄;符號連接則都可以;
c、硬連接不容許對空文件創建連接,符號(軟)連接能夠。
+++++++++++++++++++++++++++++++++
mklink [[/d] | [/h] | [/j]] Link Target
/d 建立目錄符號連接。黙認爲文件符號連接。
/h 建立硬連接,而不是符號連接。
/j 建立目錄聯接。
Link 指定新的符號連接名稱。
Target 指定新連接引用的路徑(相對或絕對)。
+++++++++++++++++++++++++++++++++
例:mklink /j "C:\Users" "D:\Users" // 建立D盤Users目錄聯接到C盤,並命名爲Users
attrib 查看或修改文件或目錄的屬性 【A:存檔 R:只讀 S:系統 H:隱藏】
例:attrib 1.txt // 查看當前目錄下1.txt的屬性
例:attrib -R 1.txt // 去掉1.txt的只讀屬性
例:attrib +H movie // 隱藏movie文件夾
assoc 設置'文件擴展名'關聯到的'文件類型'
例:assoc // 顯示全部'文件擴展名'關聯
例:assoc .txt // 顯示.txt表明的'文件類型',結果顯示.txt=txtfile
例:assoc .doc // 顯示.doc表明的'文件類型',結果顯示.doc=Word.Document.8
例:assoc .exe // 顯示.exe表明的'文件類型',結果顯示.exe=exefile
例:assoc .txt=txtfile // 恢復.txt的正確關聯
ftype 設置'文件類型'關聯到的'執行程序和參數'
例:ftype // 顯示全部'文件類型'關聯
例:ftype exefile // 顯示exefile類型關聯的命令行,結果顯示 exefile="%1" %*
例:ftype txtfile=C:\Windows\notepad.exe %1 // 設置txtfile類型關聯的命令行爲:C:\Windows\notepad.exe %1
當雙擊一個.txt文件時,windows並非根據.txt直接判斷用notepad.exe打開
而是先判斷.txt屬於txtfile'文件類型';再調用txtfile關聯的命令行:txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
forfiles 遞歸目錄執行命令
例:forfiles /p . /m .svn /s /c "cmd /c svn up -r12005" // 在當前目錄下查找含有.svn的文件或目錄(遞歸子目錄),並對該目錄執行指定版本號svn更新
例:forfiles /p c:\myfiles /m .svn /s /c "cmd /c svn up -r12005" // 在c:\myfiles目錄下查找含有.svn的文件或目錄(遞歸子目錄),並對該目錄執行指定版本號svn更新
type 顯示文本文件內容
例:type c:\11.txt // 顯示c盤中11.txt的文本內容
例:type conf.ini // 顯示當前目錄下conf.ini的文本內容
例:type c:\11.txt | more // 分頁顯示c盤中11.txt的文本內容
more 逐屏的顯示文本文件內容
例:more conf.ini // 逐屏的顯示當前目錄下conf.ini的文本內容 【空格:下一屏 q:退出 】
reg 註冊表相關操做
參數說明:
KeyName [\Machine]FullKey
Machine爲遠程機器的機器名 - 忽略默認到當前機器。
遠程機器上只有 HKLM 和 HKU。
FullKey ROOTKEY+SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選ROOTKEY下注冊表項的完整名
/v 所選項之下要添加的值名
/ve 爲註冊表項添加空白值名 <無名稱>
/t RegKey 數據類型
[ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |
REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
REG_NONE | REG_EXPAND_SZ ]
若是忽略,則採用 REG_SZ
/s 指定一個在 REG_MULTI_SZ 數據字符串中
用做分隔符的字符;若是忽略,則將""用做分隔符
/d 要分配給添加的註冊表ValueName的數據
/f 不提示,強行改寫現有註冊表項
例:reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v MyApp /t REG_SZ /d "c:\tools\myapp.exe" /f // 強制添加一條開機啓動c:\tools\myapp.exe程序的註冊表項
例:reg add "HKLM\SOFTWARE\ScmClient" /v AgreementConfirmed /t REG_SZ /d 1 /f // 解決32位xp打開ioa後,彈出的框關不掉問題
例:reg add "HKCU\ControlPanel\Desktop" /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f // 強制添加一條加速關閉應用程序的註冊表項
例:reg add "hkcu\software\Unity Technologies\Unity Editor 4.x" /v JdkPath_h4127442381 /t REG_SZ /f // 將JdkPath_h4127442381設置爲空
例:reg add "HKCR*\shell\WinDbg\command" /t REG_SZ /d ""D:\Program Files (x86)\windbg\windbg.exe" -z "%1" " /f // 強制添加windbg打開dump文件到右鍵菜單的註冊表項(不指明/v,鍵值將寫入默認值名中)
例:reg add "HKCR*\shell\WinHex\command" /t REG_SZ /d ""D:\software-setup\system\winhex\winhex.exe" "%1" " /f // 強制添加winhex到右鍵菜單的註冊表項(不指明/v,鍵值將寫入默認值名中)
註冊表中%1 %2 %3 %4的含義:
-- %1表示文件列表,%2表示默認打印機,%3表示驅動器,%4表示端口
例:reg add "hkcu\software\microsoft\windows\currentversion\internet settings" /v AutoConfigURL /t REG_SZ /d "http://txp-01.tencent.com/proxy.pac" /f // 爲IE設置代理:http://txp-01.tencent.com/proxy.pac
例:reg add "hkcu\software\Sysinternals\Process Monitor" /v EulaAccepted /t REG_DWORD /d 1 /f // 爲Procmon.exe工具(Process Monitor爲其屬性面板上的描述名)添加License贊成
例:reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v MyApp /f // 強制刪除值名的MyApp的註冊表項
例:reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe" /f // 強制刪除讓任務欄裏的任務管理器爲灰色的註冊表項
例:reg delete HKEY_CURRENT_USER\Environment /v HTTP_proxy /f // 刪除http代理
例:reg delete HKEY_CURRENT_USER\Environment /v HTTPS_proxy /f // 刪除https代理
例:reg copy "hkcu\software\microsoft\winmine" "hkcu\software\microsoft\winminebk" /s /f // 強制複製winmine下全部的子項與值到winminebk中
例:reg export "hkcu\software\microsoft\winmine" c:\regbak\winmine.reg // 導出winmine下全部的子項與值到c:\regbak\winmine.reg文件中
例:reg import c:\regbak\winmine.reg // 導入c:\regbak\winmine.reg文件到註冊表中
例:reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" /s // 查詢ie的安裝路徑
例:reg query HKCR.dsw /ve // 查詢.dsw默認值
例:reg query HKEY_CURRENT_USER\Software\Tencent\QQGame\SYS /v GameDirectory // 查詢QQGame安裝路徑
& 順序執行多條命令,而無論命令是否執行成功
例:cd /d d:\src&work.exe /o c:\result.txt // 先將當前工做目錄切換到d:\src下,而後執行work.exe /o c:\result.txt命令
&& 順序執行多條命令,當碰到執行出錯的命令後將不執行後面的命令
例:find "ok" c:\test.txt && echo 成功 // 若是找到了"ok"字樣,就顯示"成功",找不到就不顯示
|| 順序執行多條命令,當碰到執行正確的命令後將不執行後面的命令
例:find "ok" c:\test.txt || echo 不成功 // 若是找不到"ok"字樣,就顯示"不成功",找到了就不顯示
| 管道命令
例:dir . /s/a | find /c ".exe" // 先執行dir命令,而後對輸出結果(stdout)執行find命令(輸出當前文件夾及全部子文件夾裏的.exe文件的個數)
例:dir . /s/a 2>&1 | find /c ".exe" // 先執行dir命令,而後對輸出結果(stdout)和錯誤信息(stderr)執行find命令(輸出當前文件夾及全部子文件夾裏的.exe文件的個數)
將當前命令輸出以覆蓋的方式重定向
例:tasklist > p1.txt // 將tasklist的輸出結果(stdout)以覆蓋的方式重定向到p1.txt文件中(注:tasklist的輸出結果就不會打印到屏幕上了)
例:tasklist 1> p1.txt // 等同於:tasklist > p1.txt
例:dir bin 2> p1.txt // 輸出結果(stdout)打印在屏幕上,錯誤信息(stderr)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時,會輸出錯誤信息)
例:dir bin > p1.txt 2>&1 // 將錯誤信息(stderr)重定向到輸出結果(stdout),而後將輸出結果(stdout)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時,會輸出錯誤信息)
例:dir bin 2> p1.txt 1>&2 // 將輸出結果(stdout)重定向到錯誤信息(stderr),而後將錯誤信息(stderr)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時,會輸出錯誤信息) 注:與上條命令結果一致
例:tasklist >nul // 屏幕上不打印tasklist的輸出結果(stdout),錯誤信息(stderr)仍會打印
例:dir bin 2>nul // 屏幕上不打印命令的錯誤信息(stderr),輸出結果(stdout)仍會打印(注:bin目錄不存在時,會輸出錯誤信息)
例:dir bin >nul 2>&1 // 將命令的錯誤信息(stderr)重定向到輸出結果(stdout),而後不打印輸出結果(stdout)【屏幕上錯誤信息(stderr)和輸出結果(stdout)都不打印】(注:bin目錄不存在時,會輸出錯誤信息)
例:dir bin 2>nul 1>&2 // 將命令的輸出結果(stdout)重定向到錯誤信息(stderr),而後不打印錯誤信息(stderr)【屏幕上錯誤信息(stderr)和輸出結果(stdout)都不打印】(注:bin目錄不存在時,會輸出錯誤信息)
將當前命令輸出以追加的方式重定向
例:tasklist >> p2.txt // 將tasklist的輸出結果(stdout)以追加的方式重定向到p2.txt文件中(注:tasklist的輸出結果就不會打印到屏幕上了)
例:tasklist 1>> p2.txt // 等同於:tasklist >> p2.txt
例:dir bin 2>> p2.txt // 輸出結果(stdout)打印在屏幕上,錯誤信息(stderr)以追加的方式重定向到p2.txt中(注:bin目錄不存在時,會輸出錯誤信息)
例:dir bin >> p2.txt 2>&1 // 將錯誤信息(stderr)重定向到輸出結果(stdout),而後將輸出結果(stdout)以追加的方式重定向到p2.txt中(注:bin目錄不存在時,會輸出錯誤信息)
例:dir bin 2>> p2.txt 1>&2 // 將輸出結果(stdout)重定向到錯誤信息(stderr),而後將錯誤信息(stderr)以追加的方式重定向到p2.txt中(注:bin目錄不存在時,會輸出錯誤信息) 注:與上條命令結果一致
< 從文件中得到輸入信息,而不是從屏幕上,通常用於date time label等須要等待輸入的命令
例:date <temp.txt // temp.txt中的內容爲2005-05-01
編號 Handle 說明
0 stdin 鍵盤輸入
1 stdout 在命令提示窗口上打印輸出結果(默認)
2 stderr 在命令提示窗口上打印錯誤信息(默認)
3-9 undefined 應用程序本身定義和指定
@ 命令修飾符 在執行命令前,不打印出該命令的內容
例:@cd /d d:\me // 執行該命令時,不打印出命令的內容:cd /d d:/me
, 在某些特殊的狀況下能夠用來代替空格使用
例:dir,c: // 至關於:dir c:
; 當命令相同的時候,能夠將不一樣的目標用;隔離開來但執行效果不變。如執行過程當中發生錯誤則只返回錯誤報告但程序仍是會繼續執行
例:dir c:;d:;e: // 至關於順序執行:dir c: dir d: dir e:
echo. // 輸出一個"回車換行",空白行
echo off // 後續全部命令在執行前,不打印出命令的內容
echo on // 後續全部命令在執行前,打印出命令的內容
echo 123 // 輸出123到終端屏幕
echo "Hello World!!!" // 輸出Hello World!!!到終端屏幕
echo %errorlevel% // 每一個命令運行結束,能夠用這個命令行格式查看返回碼;默認值爲0,通常命令執行出錯會設errorlevel爲1
echo test > p1.txt // 輸出test的字符串到當前目錄中的p1.txt文件中(以覆蓋的方式)
set // 顯示當前用戶全部的環境變量
set path // 查看path的環境變量值(準確的說是查看以path開頭的環境變量)
set path= // 清空path變量
set path=d:\execute // 將path變量設置爲d:\execute(注:修改的path只會影響當前回話,也不會存儲到系統配置中去;當前cmd窗口關閉,新設置的path也就不存在了)
set path=%path%;d:\execute // 在path變量中添加d:\execute(注:修改的path只會影響當前回話,也不會存儲到系統配置中去;當前cmd窗口關閉,新設置的path也就不存在了)
path // 顯示當前path變量的值
path ; // 清除全部搜索路徑設置並指示cmd.exe只在當前目錄中搜索
path d:\xxx;%PATH% // 將d:\xxx路徑添加到path中
set p=aa1bb1aa2bb2 // 設置變量p,並賦值爲aa1bb1aa2bb2
echo %p% // 顯示變量p表明的字符串,即aa1bb1aa2bb2
echo %p:~6% // 顯示變量p中第6個字符之後的全部字符,即aa2bb2
echo %p:~6,3% // 顯示第6個字符之後的3個字符,即aa2
echo %p:~0,3% // 顯示前3個字符,即aa1
echo %p:~-2% // 顯示最後面的2個字符,即b2
echo %p:~0,-2% // 顯示除了最後2個字符之外的其它字符,即aa1bb1aa2b
echo %p:aa=c% // 用c替換變量p中全部的aa,即顯示c1bb1c2bb2
echo %p:aa=% // 將變量p中的全部aa字符串置換爲空,即顯示1bb12bb2
echo %p:*bb=c% // 第一個bb及其以前的全部字符被替換爲c,即顯示c1aa2bb2
set p=%p:bb=c% // 設置變量p,賦值爲 %p:bb=c% ,即c1aa2bb2
set /a p=39 // 設置p爲數值型變量,值爲39
set /a p=39/10 // 支持運算符,有小數時用去尾法,39/10=3.9,去尾得3,p=3
set /a p=p/10 // 用 /a 參數時,在 = 後面的變量能夠不加%直接引用
set /a p="1&0" // &運算要加引號。其它支持的運算符參見set/?
cls 清除屏幕
ver 顯示當前windows系統的版本號
winver 彈框顯示當前windows系統信息
vol 顯示當前分區的卷標
label 顯示當前分區的卷標,同時提示輸入新卷標
label c:system 設置c盤的卷標爲system
time 顯示或設置當前時間
例:time /t // 顯示當前時間
例:time // 設置新的當前時間(格式:hh:mm:ss),直接回車則表示放棄設置
date 顯示或設置當前日期
例:date /t // 顯示當前日期
例:date // 設置新的當前日期(格式:YYYY/MM/DD),直接回車則表示放棄設置
title 正在作命令行測試 // 修改當前cmd窗口的標題欄文字爲正在作命令行測試
prompt orz: // 將命令提示符修改成orz:
print 1.txt // 使用設置好的打印機來打印1.txt文本文件
call ff.bat // 調用執行ff.bat腳本(ff.bat腳本執行完原腳本纔會往下執行)
start 運行某程序或命令
例:start /max notepad.exe // 最大化的方式啓動記事本
例:start /min calc.exe // 最小化的方式啓動計算器
例:start /min "" d:\Proxifier.exe // 最小化的方式啓動Proxifier代理工具
例:start tasklist // 啓動一個cmd實例窗口,並運行tasklist
例:start explorer f: // 調用資源管理器打開f盤
例:strat iexplore "www.qq.com" // 啓動ie並打開www.qq.com網址
例:start ff.bat // 啓動開始執行ff.bat(啓動ff.bat腳本後,原腳本繼續執行,不會等ff.bat腳本執行完)
exit 退出當前cmd窗口實例
例:exit 0 // 退出當前cmd窗口實例,並將過程退出代碼設置爲0(0表示成功,非0表示失敗)
例:exit /B 1 // 退出當前bat腳本,並將ERRORLEVEL系統變量設置爲1
pause 暫停批處理程序,並顯示出:請按任意鍵繼續....
color 設置當前cmd窗口背景色和前景色(前景色即爲字體的顏色)
例:color // 恢復到缺省設置
例:color 02 // 將背景色設爲黑色,將字體設爲綠色
0 = 黑色 8 = 灰色
1 = 藍色 9 = 淡藍色
2 = 綠色 A = 淡綠色
3 = 淺綠色 B = 淡淺綠色
4 = 紅色 C = 淡紅色
5 = 紫色 D = 淡紫色
6 = 黃色 E = 淡黃色
7 = 白色 F = 亮白色
--------------------------------------
mode con cols=200 lines=60 & color 9f 設置DOS窗口顏色爲9f,大小:200行 60列(若屏幕緩衝區大小的寬度w<200或高度h<60,最終DOS的窗口就會爲w行,h列)
systeminfo 查看當前計算機的綜合信息
systeminfo | findstr /i "初始安裝日期 系統啓動時間" 只查看當前計算機的初始安裝日期和系統啓動時間
wmic 查看硬件的信息 -- C:\Windows\System32\wbem\WMIC.exe
例:wmic logicaldisk // 查看計算機上各個盤的相關信息
例:wmic LogicalDisk where "Caption='C:'" get FreeSpace,Size /value // 獲取C盤的剩餘空間大小與總大小(單位:Byte)
例:wmic os get Caption,InstallDate,OSArchitecture /value // 獲取當前os的Caption、安裝日期以及系統架構信息
wmic 查看進程信息
例:wmic process where Caption="buyticket.exe" get commandline,ExecutablePath,ProcessId,ThreadCount /value // 查看名爲"buyticket.exe"全部進程命令行,exe全路徑,PID及線程數
例:wmic process where Caption="buyticket.exe" get ExecutablePath,HandleCount /value // 查看名爲"buyticket.exe"全部進程的exe全路徑及當前打開的句柄數
例:wmic process where Caption="buyticket.exe" get ExecutablePath,VirtualSize,WorkingSetSize /value // 查看名爲"buyticket.exe"全部進程的exe全路徑、當前虛擬地址空間佔用及物理內存工做集
logoff 註銷當前用戶
shutdown 關閉、重啓、註銷、休眠計算機
例:shutdown /s // 關閉計算機
例:shutdown /s /t 3600 // 一小時後,關閉本地計算機
例:shutdown /a // 終止系統關閉
例:shutdown /r // 關閉並重啓本地計算機
例:shutdown /m 192.168.1.166 /r // 關閉並重啓ip爲192.168.1.166的計算機
+++++++++++++++++++++
遠程關機權限的獲取:
1)修改遠程pc的「本地安全策略」,爲指定的用戶開放權限
在WindowsXP默認的安全策略中,只有Administrators組的用戶纔有權從遠端關閉計算機,若是要給xxxx用戶遠程關機的權限。
可利用WindowsXP的「組策略」或「管理工具」中的「本地安全策略」來實現。
1.命令行運行gpedit.msc打開「組策略編輯器「;
2.導航到「計算機配置/Windows設置/安全設置/本地策略/用戶權利指派」;
3.修改「從遠端系統強制關機」,添加xxxx用戶便可。
2)得到遠程IPC管理權限
若是配置第一步後還出現「拒絕訪問。」,則須要在運行shutdown命令前先運行以下命令
net use \[ip地址或計算機名]\ipc$ password /user:xxxx
其中password爲賬號xxxx的登陸密碼。
+++++++++++++++++++++
例:shutdown /g // 關閉並重啓計算機,重啓後從新啓動全部註冊的應用程序
例:shutdown /l // 註銷本地計算機
例:shutdown /h /f // 休眠本地計算機(強制正在運行的應用程序關閉,不前臺警告用戶)
例:shutdown /s // 關閉計算機
regsvr32 註冊或反註冊com組件
例:regsvr32 /s clock.ocx // 以無聲的方式註冊clock.ocx組件
例:regsvr32 /u myCommon.dll // 卸載myCommon.dll組件
format 格式化磁盤
例:format J: /FS:ntfs // 以ntfs類型格式化J盤 【類型有:FAT、FAT3二、exFAT、NTFS或UDF】
例:format J: /FS:fat32 /Q // 以fat32類型快速格式化J盤
chkdsk /f D: // 檢查磁盤D並顯示狀態報告;加參數/f表示同時會修復磁盤上的錯誤
subst 磁盤映射 -- 磁盤映射信息都保存在註冊表如下鍵值中:HKEY_CURRENT_USER\Network
例:subst // 顯示目前全部的映射
例:subst z: \com\software // 將\com\software共享映射爲本地z盤
例:subst y: e:\src // 將e:\src映射爲本地y盤
例:subst z: /d // 刪除z盤映射
cmdkey 憑據(保存的用戶名和密碼)
例:cmdkey /list // 列出可用的憑據
例:cmdkey /list:10.12.190.82 // 列出指定目標的憑據
例:cmdkey /list:Domain:target=10.12.190.82 // 列出指定目標的憑據
例:cmdkey /add:Domain:target=10.12.190.82 /user:LiLei /pass:123456 // 添加憑據
例:cmdkey /delete:Domain:target=10.12.190.82 // 刪除指定目標的憑據
cscript 執行vbs腳本
例:cscript /Nologo mac.vbs // 執行mac.vbs腳本,顯示本機mac地址
-------mac.vbs----------
Dim mc,mo
Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
For Each mo In mc
If mo.IPEnabled=True Then
MsgBox "本機網卡MAC地址是: " & mo.MacAddress
Exit For
End If
Next
net start // 查看已經啓動的服務
net start "Task Scheduler" // 開啓任務計劃服務
net stop "Task Scheduler" // 關閉任務計劃服務
net start dnscache // 開啓dns緩存服務
net stop dnscache // 關閉dns緩存服務
net share // 查看當前用戶下的共享目錄
net share workFile /delete // 取消名爲workFile的共享狀態
net share xxx=c:\360Downloads // 將c:\360Downloads設爲共享,並取名爲xxx
net share ipc$ // 開啓ipc$共享
net share ipc$ /del // 刪除ipc$共享
net share c$ /del // 刪除c盤共享
net use \192.168.1.166\ipc$ " " /user:" " // 創建192.168.1.166的ipc空連接
net use \192.168.1.166\ipc$ "123456" /user:"administrator" // 直接登錄後創建192.168.1.166的ipc非空連接(用戶名爲administrator 密碼爲123456)
net use h: \192.168.1.166\c$ "123456" /user:"administrator" // 直接登錄後映射192.168.1.166的c盤到本地爲h盤(用戶名爲administrator 密碼爲123456)
net use h: \192.168.1.166\c$ // 登錄後映射192.168.1.166的c盤到本地爲h盤
net use \192.168.1.166\ipc$ /del // 刪除ipc連接
net use h: /del // 刪除本地的h盤的映射
net view // 查看本地局域網內開啓了哪些共享
net view \192.168.1.166 // 查看192.168.1.166的機器上在局域網內開啓了哪些共享
net time \127.0.0.1 // 查看本地機器的日期及時間
net time \localhost // 查看本地機器的日期及時間
net time \192.168.1.166 // 查看192.168.1.166機器的日期及時間
net time \192.168.1.166 /set // 設置本地計算機時間與192.168.1.166主機的時間同步,加上參數/yes可取消確認信息
net user // 查看當前機器上的用戶
net user Administrator // 查看當前機器上的Administrator用戶的信息
net user Guest /active:yes // 啓用Guest用戶
net user dev 123456 /add // 新建一個名爲dev,密碼爲123456的用戶
net localgroup administrators dev /add // 把名爲dev的用戶添加到管理員用戶組中,使其具備管理員權限
net user dev /del // 刪除名爲dev的用戶
tasklist // 顯示當前運行的進程信息(可查看PID)
taskkill 結束指定的進程
例:taskkill /im notepad.exe // 結束名爲notepad.exe的進程
例:taskkill /pid 1230 /pid 1241 /pid 1253 /t // 結束pid爲1230、1241和1253的進程以及由它們啓動起來的子進程
例:taskkill /f /im cmd.exe /t // 強制結束有名爲cmd.exe的進程以及由它啓動起來的子進程
ping // 用於檢測網絡是否通暢,以及網絡時延狀況(工做在ICMP協議上)
例:ping baidu.com // 測試與baidu服務器的鏈接狀況
例:ping chen-pc0 // 測試機器名爲chen-pc0的鏈接狀況
例:ping 220.181.111.86 // 測試與ip爲220.181.111.86的鏈接狀況
例:ping -l 65500 -n 10 qq.com // 向qq.com發送10次65500字節的ping
例:ping -n 6 127.0.0.1 // 對當前主機執行6次ping操做(花費時間爲5s)
例:ping -t baidu.com // 不斷地測試baidu服務器的鏈接狀況 【Ctrl+Pause Break:查看ping的統計信息;Ctrl+C:終止當前任務】
a. 首先查本地arp cache信息,看是否有對方的mac地址和IP地址映射條目記錄
b. 若是沒有,則發起一個arp請求廣播包,等待對方告知具體的mac地址
c. 收到arp響應包以後,得到某個IP對應的具體mac地址,有了物理地址以後才能夠開始通訊了,同時對ip-mac地址作一個本地cache
d. 發出icmp echo request包,收到icmp echo reply包
ipconfig /all // 查看本地ip地址等詳細信息
ipconfig /displaydns // 顯示本地dns緩存的內容
ipconfig /flushdns // 清除本地dns緩存的內容
nslookup www.cnblogs.com // 獲取www.cnblogs.com的域名解析
服務器: gm-captiva.tencent.com//DNS服務器的主機名
Address: 10.6.18.41//DNS服務器IP
非權威應答:
名稱: www.cnblogs.com//解析的域名URL
Address: 42.121.252.58//解析回的IP
nslookup -d www.cnblogs.com // 打印出www.cnblogs.com的域名解析全部記錄
netstat -a // 查看開啓了哪些端口
netstat -n // 查看端口的網絡鏈接狀況
netstat -v // 查看正在進行的工做
netstat -p tcp // 查看tcp協議的使用狀況
tracert 182.140.167.44 // 查看本機到達182.140.167.44的路由路徑
route print // 顯示出IP路由
telnet 182.140.167.44 8000 // 探測182.140.167.44是否使用TCP協議監聽8000端口(注意:telnet命令不支持UDP端口檢測)
說明:若是端口關閉或者沒法鏈接,則顯示不能打開到主機的連接,連接失敗;端口打開的狀況下,連接成功,則進入telnet頁面(全黑的),證實端口可用。
用於探測指定IP的端口號,只是telnet的一個基本功能;
遠程登陸到網絡中的計算機,並以命令行的方式遠程管理計算機纔是telnet命令的強大之處。
windows telnet服務器(默認端口:23)環境配置過程以下: 參考1
a. 安裝telnet服務器
b. 啓動Telnet服務
c. 關閉windows防火牆 注:若不想關閉防火牆,則須要在Windows防火牆 -- 高級設置裏面對Telnet服務器的訪問規則進行配置
ftp 46.19.34.198 21 // 鏈接46.19.34.198 ftp服務器(21爲端口號),而後會要求輸入用戶名與密碼;鏈接成功後,具體如何使用能夠鍵入?來查看幫助說明
arp 顯示和修改地址解析協議(ARP)使用的「IP到mac」的地址轉換表
例:arp -a // 顯示arp緩存表
at 計劃任務(必須保證「Task Scheduler」服務啓動 net start "task scheduler")
例:at // 查看全部的計劃任務
例:at /delete /yes // 中止全部任務計劃(不須要確認)
例:at 1 // 開啓id爲1的計劃任務
例:at 1 /delete /yes // 中止id爲1的計劃任務(不須要確認)
例:at 12:42 shutdown –s –t30 // 到12:42 ,電腦會出現「 系統關機 」對話框,並默認 30 秒延時自動關機
例:at cmd /c dir > c:\test.out // 若是命令不是exe文件,必須在命令前加上cmd /c
例:at 6:00AM /every:Saturday task.bat // 在每週六早上6點,電腦定時啓動task.bat批處理文件
例:at \chen 12:00 shutdown /r // 到12:00時,關閉名爲chen的計算機
例:at \192.168.1.166 12:00 shutdown /r // 到12:00時,關閉ip爲192.168.1.166的計算機
edit config.ini // 編輯config.ini文件(會進入edit字符編輯器;按alt,能夠選擇對應的菜單) win7 x64下沒有該命令
find 文件中搜索字符串
例:find /N /I "pid" 1.txt // 在1.txt文件中忽略大小寫查找pid字符串,並帶行號顯示查找後的結果
例:find /C "exe" 1.txt // 只顯示在1.txt文件中查找到exe字符串的次數
例:find /V "exe" 1.txt // 顯示未包含1.txt文件中未包含exe字符串的行
findstr 文件中搜索字符串
例:findstr "hello world" 1.txt // 在1.txt文件中搜索hello或world
例:findstr /c:"hello world" 1.txt // 在1.txt文件中搜索hello world
例:findstr /c:"hello world" 1.txt nul // 在1.txt文件中搜索hello world,並在每行結果前打印出1.txt: 注:findstr只有在2個及以上文件中搜索字符串時纔會打印出每一個文件的文件名,nul表示一個空文件
例:findstr /s /i "Hello" . // 不區分大小寫,在當前目錄和全部子目錄中的全部文件中的hello
例:findstr "^[0-9][a-z]" 1.txt // 在1.txt中搜索以1個數字+1個小寫字母開頭子串的行
連接地址:http://blog.csdn.net/u010186511/article/details/48370053