【windows命令】--cmd常用命令
打開"運(yùn)行"對(duì)話框(Win+R),輸入cmd,打開控制臺(tái)命令窗口...
也可以通過cmd /c 命令?和?cmd /k 命令的方式來直接運(yùn)行命令
注:/c表示執(zhí)行完命令后關(guān)閉cmd窗口;/k表示執(zhí)行完命令后保留cmd窗口
# 控制臺(tái)命令窗口中一些技巧
tab補(bǔ)全功能
命令參數(shù)的路徑:要使用反斜杠'\',不要使用正斜杠'/' ??如:del d:\test2\file\my.txt
命令參數(shù)的路徑:若存在空格,應(yīng)使用雙引號(hào)將路徑引起來 ?如:del?"d:\program files\file\my.txt"
文件及目錄名中不能包含下列任何字符:\ / : * ? " < > |
rem??// 在批處理文件中添加注解,其后的命令不會(huì)被執(zhí)行,但會(huì)回顯
:: ?//?::也可以起到rem的注釋作用,且不會(huì)有回顯
任何以冒號(hào):開頭的字符行, 在批處理中都被視作標(biāo)號(hào)(label), 而直接忽略其后的所有內(nèi)容
有效標(biāo)號(hào):冒號(hào)后緊跟一個(gè)以字母數(shù)字開頭的字符串,goto語句可以識(shí)別
無效標(biāo)號(hào):冒號(hào)后緊跟一個(gè)非字母數(shù)字的一個(gè)特殊符號(hào),goto無法識(shí)別的標(biāo)號(hào),可以起到注釋作用,::常被用作注釋符號(hào)
選擇模式
需要注意的是,控制臺(tái)命令窗口變成選擇模式時(shí),會(huì)阻塞當(dāng)前正在執(zhí)行的命令,需要按回車才能繼續(xù)執(zhí)行
注:特別是win10系統(tǒng),在控制臺(tái)命令窗口中按住左鍵拖動(dòng)一下鼠標(biāo),就會(huì)進(jìn)入選擇模式
?
0. 獲取幫助
command /???//?查看command命令幫助說明
1. 中斷命令執(zhí)行
Ctrl + Z
2. 文件/目錄
cd???切換目錄
例:cd???// 顯示當(dāng)前目錄
例:cd ..???// 進(jìn)入父目錄
例:cd /d d:???// 進(jìn)入上次d盤所在的目錄(或在直接輸入:d:)
例:cd /d d:\???// 進(jìn)入d盤根目錄
例:cd d:?// 顯示上次d盤所在的目錄
例:cd /d d:\src?// 進(jìn)入d:\src目錄
例:cd prj\src\view??// 進(jìn)入當(dāng)前目錄下的prj\src\view文件夾
pushd ?popd??使用棧來維護(hù)當(dāng)前目錄
md d:\mp3?// 在C:\建立mp3文件夾
md d:\mp4?// 在D:\建立mp4文件夾
cd /d d:\mp4?// 更改當(dāng)前目錄為d:\mp4
pushd c:\mp3?// 將當(dāng)前目錄d:\mp4入棧,并切換當(dāng)前目錄為c:\mp3
popd??// 將剛才保存的d:\mp4彈棧,并設(shè)置為當(dāng)前目錄
dir??顯示目錄中的內(nèi)容
例:dir???// 顯示當(dāng)前目錄中的子文件夾與文件
例:dir /b??// 只顯示當(dāng)前目錄中的子文件夾與文件的文件名
例:dir /p??// 分頁顯示當(dāng)前目錄中的子文件夾與文件
例:dir /ad??// 顯示當(dāng)前目錄中的子文件夾
例:dir /a-d??// 顯示當(dāng)前目錄中的文件
例:dir c:\test???// 顯示c:\test目錄中的內(nèi)容
例:dir keys.txt??// 顯示當(dāng)前目錄中keys.txt的信息
例:dir /S???// 遞歸顯示當(dāng)前目錄中的內(nèi)容
例:dir key*??// 顯示當(dāng)前目錄下以key開頭的文件和文件夾的信息
例:dir /AH /OS??// 只顯示當(dāng)前目錄中隱藏的文件和目錄,并按照文件大小從小到大排序
tree?顯示目錄結(jié)構(gòu)
例:tree d:\myfiles??// 顯示d:\myfiles目錄結(jié)構(gòu)
ren??文件或目錄重命名
例:ren rec.txt rec.ini??// 將當(dāng)前目錄下的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??//?將當(dāng)前目錄下的Logs.txt文件重命名為Logs-20150114_2135.txt或Logs-20150114_ 812.txt(注意:小時(shí)只有個(gè)位數(shù)時(shí)會(huì)多一個(gè)空格,可以使用字符串替換:將空格替換成0)
md??創(chuàng)建目錄
例:md movie music??// 在當(dāng)前目錄中創(chuàng)建名為movie和music的文件夾
例:md d:\test\movie??// 創(chuàng)建d:\test\movie目錄
rd??刪除目錄
例:rd movie?// 刪除當(dāng)前目錄下的movie空文件夾
例:rd /s /q d:\test??// 使用安靜模式刪除d:\test(除目錄本身外,還將刪除指定目錄下的所有子目錄和文件)
copy?拷貝文件
例:copy key.txt c:\doc??// 將當(dāng)前目錄下的key.txt拷貝到c:\doc下(若doc中也存在一個(gè)key.txt文件,會(huì)詢問是否覆蓋)
例:copy jobs c:\doc??// 將當(dāng)前目錄下jobs文件夾中文件(不遞歸子目錄)拷貝到c:\doc下(若doc中也存在相應(yīng)的文件,會(huì)詢問是否覆蓋)
例:copy key.txt c:\doc\key_bak.txt??// 將當(dāng)前目錄下的key.txt拷貝到c:\doc下,并重命名為key_bak.txt(若doc中也存在一個(gè)key_bak.txt文件,會(huì)詢問是否覆蓋)
例:copy /Y key.txt c:\doc??// 將當(dāng)前目錄下的key.txt拷貝到c:\doc下(不詢問,直接覆蓋寫)
例:copy key.txt +??//?復(fù)制文件到自己,實(shí)際上是修改了文件日期
例:copy /Y key1.txt + key2.txt key.txt??// 將當(dāng)前目錄下的key1.txt與key2.txt的內(nèi)容合并寫入key.txt中(不詢問,直接覆蓋寫)
例:copy /B art_2.7z.* art_2.7z?? ?// 將當(dāng)前目錄下的art_2.7z.開頭的所有文件(按照名稱升序排序)依次合并生成art_2.7z
例:copy /B art_2.7z.001+art_2.7z.002?art_2.7z?? ?// 將當(dāng)前目錄下的art_2.7z.001、art_2.7z.002文件合并生成art_2.7z
xcopy??更強(qiáng)大的復(fù)制命令
例:xcopy c:\bat\hai d:\hello\ /y /h /e /f /c? ??// 將c:\bat\hai中的所有內(nèi)容拷貝到d:\hello中 ?注意:需要在hello后加上\ ?表示hello為一個(gè)目錄,否則xcopy會(huì)詢問hello是F,還是D
例:xcopy c:\bat\hai d:\hello\ /d:12-29-2010??//?將c:\bat\hai中的2010年12月29日后更改的文件拷貝到d:\hello中
robocopy??更強(qiáng)大的復(fù)制命令
例:robocopy .\Plugins .\PluginsDest /MIR /xd Intermediate Binaries? // 將當(dāng)前目錄下Plugins中所有內(nèi)容(排除名為Intermediate和Binaries的文件夾)保留目錄結(jié)構(gòu)拷貝到當(dāng)前目錄下的PluginsDest中(PluginsDest不存在會(huì)自動(dòng)創(chuàng)建)
例:robocopy c:\test d:\test2 /MIR /xd Intermediate /xf UE4Editor-SGame-Win64-DebugGame.dll *.pdb?// 將c:\test中所有內(nèi)容(排除名為UE4Editor-SGame-Win64-DebugGame.dll和pdb后綴的文件)保留目錄結(jié)構(gòu)拷貝到d:\test2中(d:\test2不存在會(huì)自動(dòng)創(chuàng)建)
move?移動(dòng)文件
例:move *.png test??// 將當(dāng)前目錄下的png圖片移動(dòng)到當(dāng)前目錄下test文件夾中?(若test中也存在同名的png圖片,會(huì)詢問是否覆蓋)
例:move /Y *.png test??// 將當(dāng)前目錄下的png圖片移動(dòng)到當(dāng)前目錄下test文件夾中?(不詢問,直接覆蓋寫)
例:move 1.png d:\test\2.png??// 將當(dāng)前目錄下的1.png移動(dòng)到d盤test文件夾中,并重命名為2.png (若test中也存在同名的png圖片,會(huì)詢問是否覆蓋)
例:move test d:\new??// 若d盤中存在new文件夾,將當(dāng)前目錄下的test文件夾移動(dòng)到d盤new文件夾中;若不存在,將當(dāng)前目錄下的test文件夾移動(dòng)到d盤,并重命名為new
del?刪除文件???注意:目錄及子目錄都不會(huì)刪除
例:del test??// 刪除當(dāng)前目錄下的test文件夾中的所有非只讀文件(子目錄下的文件不刪除;刪除前會(huì)進(jìn)行確認(rèn);等價(jià)于del test\*)
例:del /f test??// 刪除當(dāng)前目錄下的test文件夾中的所有文件(含只讀文件;子目錄下的文件不刪除;刪除前會(huì)進(jìn)行確認(rèn);等價(jià)于del /f test\*)
例:del /f /s /q test d:\test2\*.doc??// 刪除當(dāng)前目錄下的test文件夾中所有文件及d:\test2中所有doc文件(含只讀文件;遞歸子目錄下的文件;刪除前不確認(rèn))
++++++++++++++++++++++
/ar、/ah、/as、/aa 分別表示刪除只讀、隱藏、系統(tǒng)、存檔文件
/a-r、/a-h、/a-s、/a-a 分別表示刪除除只讀、隱藏、系統(tǒng)、存檔以外的文件
++++++++++++++++++++++
例:del /ar *.*?// 刪除當(dāng)前目錄下所有只讀文件
例:del /a-s *.*?// 刪除當(dāng)前目錄下除系統(tǒng)文件以外的所有文件
replace?替換文件【即使這個(gè)文件在使用,仍然可以替換成功】
例:replace d:\love.mp3 d:\mp3???// 使用d盤下的love.mp3強(qiáng)制替換d盤mp3目錄中的love.mp3文件
mklink??創(chuàng)建符號(hào)鏈接(win7引入);創(chuàng)建的符號(hào)鏈接文件上會(huì)有一個(gè)類似快捷方式的箭頭
win7下的mklink命令通過指定參數(shù)可以建立出不同形式的文件或目錄鏈接,分為硬鏈接(hard link)、符號(hào)鏈接(symbolic link)和目錄聯(lián)接(junction)三種。
(1) 符號(hào)鏈接(symbolic link)
建立一個(gè)軟鏈接相當(dāng)于建立一個(gè)文件(或目錄),這個(gè)文件(或目錄)用于指向別的文件(或目錄),和win的快捷方式有些類似。
? 刪除這個(gè)鏈接,對(duì)原來的文件(或目錄)沒有影像沒有任何影響;而當(dāng)你刪除原文件(或目錄)時(shí),再打開鏈接則會(huì)提示“位置不可用”。
(2) 目錄聯(lián)接(junction)
作用基本和符號(hào)鏈接類似。區(qū)別在于,目錄聯(lián)接在建立時(shí)會(huì)自動(dòng)引用原目錄的絕對(duì)路徑,而符號(hào)鏈接允許相對(duì)路徑的引用。
(3) 硬鏈接(hard link)
建立一個(gè)硬鏈接相當(dāng)于給文件建立了一個(gè)別名,例如對(duì)1.txt創(chuàng)建了名字為2.txt的硬鏈接;
? 若使用記事本對(duì)1.txt進(jìn)行修改,則2.txt也同時(shí)被修改,若刪除1.txt,則2.txt依然存在,且內(nèi)容與1.txt一樣。
建立鏈接請(qǐng)注意:
a、建立文件或目錄鏈接限于 NTFS 文件系統(tǒng);符號(hào)鏈接(目錄聯(lián)接)的建立可以跨分區(qū)(如:在d盤可以建立c盤文件或目錄的鏈接),硬鏈接只能建立同一分區(qū)內(nèi)的文件指向
b、硬鏈接只能用于文件,不能用于目錄;目錄聯(lián)接只能用于目錄;符號(hào)鏈接則均可以;
c、硬鏈接不允許對(duì)空文件建立鏈接,符號(hào)(軟)鏈接可以。
+++++++++++++++++++++++++++++++++
mklink [[/d] | [/h] | [/j]] Link Target
/d 創(chuàng)建目錄符號(hào)鏈接。黙認(rèn)為文件符號(hào)鏈接。
/h 創(chuàng)建硬鏈接,而不是符號(hào)鏈接。
/j 創(chuàng)建目錄聯(lián)接。
Link 指定新的符號(hào)鏈接名稱。
Target 指定新鏈接引用的路徑(相對(duì)或絕對(duì))。
+++++++++++++++++++++++++++++++++
例:mklink /j "C:\Users" "D:\Users"???// 創(chuàng)建D盤Users目錄聯(lián)接到C盤,并命名為Users
attrib??查看或修改文件或目錄的屬性 ?【A:存檔 ?R:只讀 ?S:系統(tǒng) ?H:隱藏】
例:attrib 1.txt???// 查看當(dāng)前目錄下1.txt的屬性
例:attrib -R 1.txt??// 去掉1.txt的只讀屬性
例:attrib +H movie??// 隱藏movie文件夾
assoc?設(shè)置'文件擴(kuò)展名'關(guān)聯(lián)到的'文件類型'
例:assoc?// 顯示所有'文件擴(kuò)展名'關(guān)聯(lián)
例:assoc .txt?// 顯示.txt代表的'文件類型',結(jié)果顯示.txt=txtfile
例:assoc .doc?// 顯示.doc代表的'文件類型',結(jié)果顯示.doc=Word.Document.8
例:assoc .exe?// 顯示.exe代表的'文件類型',結(jié)果顯示.exe=exefile
例:assoc .txt=txtfile??// 恢復(fù).txt的正確關(guān)聯(lián)
ftype?設(shè)置'文件類型'關(guān)聯(lián)到的'執(zhí)行程序和參數(shù)'
例:ftype?// 顯示所有'文件類型'關(guān)聯(lián)
例:ftype exefile?// 顯示exefile類型關(guān)聯(lián)的命令行,結(jié)果顯示 exefile="%1" %*
例:ftype txtfile=C:\Windows\notepad.exe %1?// 設(shè)置txtfile類型關(guān)聯(lián)的命令行為:C:\Windows\notepad.exe %1
當(dāng)雙擊一個(gè).txt文件時(shí),windows并不是根據(jù).txt直接判斷用notepad.exe打開
而是先判斷.txt屬于txtfile'文件類型';再調(diào)用txtfile關(guān)聯(lián)的命令行:txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
forfiles?遞歸目錄執(zhí)行命令
例:forfiles /p . /m .svn /s /c "cmd /c svn up -r12005"?//?在當(dāng)前目錄下查找含有.svn的文件或目錄(遞歸子目錄),并對(duì)該目錄執(zhí)行指定版本號(hào)svn更新
例:forfiles /p c:\myfiles /m .svn /s /c "cmd /c svn up -r12005"?//?在c:\myfiles目錄下查找含有.svn的文件或目錄(遞歸子目錄),并對(duì)該目錄執(zhí)行指定版本號(hào)svn更新
3. 文件查看
type?顯示文本文件內(nèi)容
例:type c:\11.txt???// 顯示c盤中11.txt的文本內(nèi)容
例:type conf.ini??// 顯示當(dāng)前目錄下conf.ini的文本內(nèi)容
例:type c:\11.txt | more??// 分頁顯示c盤中11.txt的文本內(nèi)容
more?逐屏的顯示文本文件內(nèi)容
例:more conf.ini??//??逐屏的顯示當(dāng)前目錄下conf.ini的文本內(nèi)容 ??【空格:下一屏 q:退出?】
4. 注冊(cè)表命令
reg?注冊(cè)表相關(guān)操作
參數(shù)說明:
KeyName [\Machine]FullKey
? ? ? ? ? ?Machine為遠(yuǎn)程機(jī)器的機(jī)器名 - 忽略默認(rèn)到當(dāng)前機(jī)器。
? ? ? ? ? ?遠(yuǎn)程機(jī)器上只有 HKLM 和 HKU。
? ? ? ? ? ?FullKey ROOTKEY+SubKey
? ? ? ? ? ?ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
? ? ? ? ? ?SubKey 所選ROOTKEY下注冊(cè)表項(xiàng)的完整名
/v ? ? ? ?所選項(xiàng)之下要添加的值名
/ve ? ? ?為注冊(cè)表項(xiàng)添加空白值名<無名稱>
/t ? ? ? ?RegKey 數(shù)據(jù)類型
? ? ? ? ? ?[ 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 ? ? ? ?指定一個(gè)在 REG_MULTI_SZ 數(shù)據(jù)字符串中
? ? ? ? ? ?用作分隔符的字符;如果忽略,則將""用作分隔符
/d ? ? ? ?要分配給添加的注冊(cè)表ValueName的數(shù)據(jù)
/f ? ? ? ?不提示,強(qiáng)行改寫現(xiàn)有注冊(cè)表項(xiàng)
例:reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v MyApp /t REG_SZ /d "c:\tools\myapp.exe" /f??// 強(qiáng)制添加一條開機(jī)啟動(dòng)c:\tools\myapp.exe程序的注冊(cè)表項(xiàng)
例:reg add "HKLM\SOFTWARE\ScmClient" /v AgreementConfirmed?/t REG_SZ /d 1 /f??// 解決32位xp打開ioa后,彈出的框關(guān)不掉問題
例:reg add "HKCU\ControlPanel\Desktop" /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f?// 強(qiáng)制添加一條加速關(guān)閉應(yīng)用程序的注冊(cè)表項(xiàng)
例:reg add "hkcu\software\Unity Technologies\Unity Editor 4.x" /v JdkPath_h4127442381 /t REG_SZ /f?// 將JdkPath_h4127442381設(shè)置為空
例:reg add "HKCR\*\shell\WinDbg\command" /t REG_SZ /d "\"D:\Program Files (x86)\windbg\windbg.exe\" -z \"%1\" " /f?? ?//?強(qiáng)制添加windbg打開dump文件到右鍵菜單的注冊(cè)表項(xiàng)(不指明/v,鍵值將寫入默認(rèn)值名中)
例:reg add "HKCR\*\shell\WinHex\command" /t REG_SZ /d "\"D:\software-setup\system\winhex\winhex.exe\" ?\"%1\" " /f?? ?//?強(qiáng)制添加winhex到右鍵菜單的注冊(cè)表項(xiàng)(不指明/v,鍵值將寫入默認(rèn)值名中)
注冊(cè)表中%1 %2 %3 %4的含義:
-- ?%1表示文件列表,%2表示默認(rèn)打印機(jī),%3表示驅(qū)動(dòng)器,%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設(shè)置代理:http://txp-01.tencent.com/proxy.pac
例:reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f? // 關(guān)閉IE代理服務(wù)器選項(xiàng)
例: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??// 強(qiáng)制刪除值名的MyApp的注冊(cè)表項(xiàng)
例:reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe" /f??// 強(qiáng)制刪除讓任務(wù)欄里的任務(wù)管理器為灰色的注冊(cè)表項(xiàng)
例: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??// 強(qiáng)制復(fù)制winmine下所有的子項(xiàng)與值到winminebk中
例:reg export "hkcu\software\microsoft\winmine" c:\regbak\winmine.reg??// 導(dǎo)出winmine下所有的子項(xiàng)與值到c:\regbak\winmine.reg文件中
例:reg import?c:\regbak\winmine.reg??// 導(dǎo)入c:\regbak\winmine.reg文件到注冊(cè)表中
例:reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" /s???// 查詢ie的安裝路徑
例:reg query HKCR\.dsw /ve??// 查詢.dsw默認(rèn)值
例:reg?query HKEY_CURRENT_USER\Software\Tencent\QQGame\SYS /v GameDirectory??// 查詢QQGame安裝路徑
5. @#@
& ?順序執(zhí)行多條命令,而不管命令是否執(zhí)行成功
例:cd /d d:\src&work.exe /o c:\result.txt ?// 先將當(dāng)前工作目錄切換到d:\src下,然后執(zhí)行work.exe /o c:\result.txt命令
&&??順序執(zhí)行多條命令,當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不執(zhí)行后面的命令
例:find "ok" c:\test.txt && echo 成功?// 如果找到了"ok"字樣,就顯示"成功",找不到就不顯示
||???順序執(zhí)行多條命令,當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令
例:find "ok" c:\test.txt || echo 不成功? ?// 如果找不到"ok"字樣,就顯示"不成功",找到了就不顯示
|? ??管道命令
例:dir *.* /s/a | find /c ".exe"? ?// 先執(zhí)行dir命令,然后對(duì)輸出結(jié)果(stdout)執(zhí)行find命令(輸出當(dāng)前文件夾及所有子文件夾里的.exe文件的個(gè)數(shù))
例:dir *.* /s/a 2>&1 | find /c ".exe"? ?// 先執(zhí)行dir命令,然后對(duì)輸出結(jié)果(stdout)和錯(cuò)誤信息(stderr)執(zhí)行find命令(輸出當(dāng)前文件夾及所有子文件夾里的.exe文件的個(gè)數(shù))
>??將當(dāng)前命令輸出以覆蓋的方式重定向
例:tasklist > p1.txt???// 將tasklist的輸出結(jié)果(stdout)以覆蓋的方式重定向到p1.txt文件中(注:tasklist的輸出結(jié)果就不會(huì)打印到屏幕上了)
例:tasklist 1> p1.txt??// 等同于:tasklist > p1.txt
例:dir bin 2> p1.txt??// 輸出結(jié)果(stdout)打印在屏幕上,錯(cuò)誤信息(stderr)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
例:dir bin > p1.txt 2>&1??// 將錯(cuò)誤信息(stderr)重定向到輸出結(jié)果(stdout),然后將輸出結(jié)果(stdout)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
例:dir bin 2> p1.txt 1>&2??//?將輸出結(jié)果(stdout)重定向到錯(cuò)誤信息(stderr),然后將錯(cuò)誤信息(stderr)以覆蓋的方式重定向到p1.txt中(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息) 注:與上條命令結(jié)果一致
例:tasklist >nul?? // 屏幕上不打印tasklist的輸出結(jié)果(stdout),錯(cuò)誤信息(stderr)仍會(huì)打印
例:dir bin 2>nul?? // 屏幕上不打印命令的錯(cuò)誤信息(stderr),輸出結(jié)果(stdout)仍會(huì)打印(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
例:dir bin >nul 2>&1?? // ?將命令的錯(cuò)誤信息(stderr)重定向到輸出結(jié)果(stdout),然后不打印輸出結(jié)果(stdout)【屏幕上錯(cuò)誤信息(stderr)和輸出結(jié)果(stdout)都不打印】(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
例:dir bin 2>nul 1>&2?? // ?將命令的輸出結(jié)果(stdout)重定向到錯(cuò)誤信息(stderr),然后不打印錯(cuò)誤信息(stderr)【屏幕上錯(cuò)誤信息(stderr)和輸出結(jié)果(stdout)都不打印】(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
>>??將當(dāng)前命令輸出以追加的方式重定向
例:tasklist >> p2.txt???// 將tasklist的輸出結(jié)果(stdout)以追加的方式重定向到p2.txt文件中(注:tasklist的輸出結(jié)果就不會(huì)打印到屏幕上了)
例:tasklist 1>> p2.txt??// 等同于:tasklist >> p2.txt
例:dir bin 2>> p2.txt??// 輸出結(jié)果(stdout)打印在屏幕上,錯(cuò)誤信息(stderr)以追加的方式重定向到p2.txt中(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
例:dir bin >> p2.txt 2>&1??// 將錯(cuò)誤信息(stderr)重定向到輸出結(jié)果(stdout),然后將輸出結(jié)果(stdout)以追加的方式重定向到p2.txt中(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息)
例:dir bin 2>> p2.txt 1>&2??//?將輸出結(jié)果(stdout)重定向到錯(cuò)誤信息(stderr),然后將錯(cuò)誤信息(stderr)以追加的方式重定向到p2.txt中(注:bin目錄不存在時(shí),會(huì)輸出錯(cuò)誤信息) 注:與上條命令結(jié)果一致
<? ??從文件中獲得輸入信息,而不是從屏幕上,一般用于date time label等需要等待輸入的命令
例:date <temp.txt??// temp.txt中的內(nèi)容為2005-05-01
| 編號(hào) | Handle | 說明 |
| 0 | stdin | 鍵盤輸入 |
| 1 | stdout | 在命令提示窗口上打印輸出結(jié)果(默認(rèn)) |
| 2 | stderr | 在命令提示窗口上打印錯(cuò)誤信息(默認(rèn)) |
| 3-9 | undefined | 應(yīng)用程序自己定義和指定 |
@???命令修飾符 ?在執(zhí)行命令前,不打印出該命令的內(nèi)容
例:@cd /d d:\me???// 執(zhí)行該命令時(shí),不打印出命令的內(nèi)容:cd /d d:/me
,?? ?在某些特殊的情況下可以用來代替空格使用
例:dir,c:\?? // 相當(dāng)于:dir c:\
;?? ?當(dāng)命令相同的時(shí)候,可以將不同的目標(biāo)用;隔離開來但執(zhí)行效果不變。如執(zhí)行過程中發(fā)生錯(cuò)誤則只返回錯(cuò)誤報(bào)告但程序還是會(huì)繼續(xù)執(zhí)行
例:dir c:\;d:\;e:\?? // 相當(dāng)于順序執(zhí)行:dir c:\ ? ?dir d:\ ? ? dir e:\
echo. ??// 輸出一個(gè)"回車換行",空白行
echo off???// 后續(xù)所有命令在執(zhí)行前,不打印出命令的內(nèi)容
echo on???// 后續(xù)所有命令在執(zhí)行前,打印出命令的內(nèi)容
echo 123???// 輸出123到終端屏幕
echo "Hello World!!!"???// 輸出Hello World!!!到終端屏幕
echo %errorlevel%? ?//?每個(gè)命令運(yùn)行結(jié)束,可以用這個(gè)命令行格式查看返回碼;默認(rèn)值為0,一般命令執(zhí)行出錯(cuò)會(huì)設(shè)errorlevel為1
echo test > p1.txt??// 輸出test的字符串到當(dāng)前目錄中的p1.txt文件中(以覆蓋的方式)
set??// 顯示當(dāng)前用戶所有的環(huán)境變量
set path?// 查看path的環(huán)境變量值(準(zhǔn)確的說是查看以path開頭的環(huán)境變量)
set path=?? ?// 清空path變量
set path=d:\execute??// 將path變量設(shè)置為d:\execute(注:修改的path只會(huì)影響當(dāng)前回話,也不會(huì)存儲(chǔ)到系統(tǒng)配置中去;當(dāng)前cmd窗口關(guān)閉,新設(shè)置的path也就不存在了)
set path=%path%;d:\execute???// 在path變量中添加d:\execute(注:修改的path只會(huì)影響當(dāng)前回話,也不會(huì)存儲(chǔ)到系統(tǒng)配置中去;當(dāng)前cmd窗口關(guān)閉,新設(shè)置的path也就不存在了)
path?// 顯示當(dāng)前path變量的值
path ;?//?清除所有搜索路徑設(shè)置并指示cmd.exe只在當(dāng)前目錄中搜索
path d:\xxx;%PATH%??// 將d:\xxx路徑添加到path中
---------------------------------------------------
set p=aa1bb1aa2bb2?// 設(shè)置變量p,并賦值為aa1bb1aa2bb2
echo %p%?// 顯示變量p代表的字符串,即aa1bb1aa2bb2
echo %p:~6%?// 顯示變量p中第6個(gè)字符以后的所有字符,即aa2bb2
echo %p:~6,3%?// 顯示第6個(gè)字符以后的3個(gè)字符,即aa2
echo %p:~0,3%?// 顯示前3個(gè)字符,即aa1
echo %p:~-2%?// 顯示最后面的2個(gè)字符,即b2
echo %p:~0,-2%?// 顯示除了最后2個(gè)字符以外的其它字符,即aa1bb1aa2b
echo %p:aa=c%?// 用c替換變量p中所有的aa,即顯示c1bb1c2bb2
echo %p:aa=%?// 將變量p中的所有aa字符串置換為空,即顯示1bb12bb2
echo %p:*bb=c%?// 第一個(gè)bb及其之前的所有字符被替換為c,即顯示c1aa2bb2
set p=%p:*bb=c%?// 設(shè)置變量p,賦值為 %p:*bb=c% ,即c1aa2bb2
set /a p=39?// 設(shè)置p為數(shù)值型變量,值為39
set /a p=39/10?// 支持運(yùn)算符,有小數(shù)時(shí)用去尾法,39/10=3.9,去尾得3,p=3
set /a p=p/10?// 用 /a 參數(shù)時(shí),在 = 后面的變量可以不加%直接引用
set /a p="1&0"?// &運(yùn)算要加引號(hào)。其它支持的運(yùn)算符參見set/?
---------------------------------------------------
cls??清除屏幕
ver??顯示當(dāng)前windows系統(tǒng)的版本號(hào)
winver??彈框顯示當(dāng)前windows系統(tǒng)信息
whoami? 顯示當(dāng)前用戶的名稱
hostname??顯示當(dāng)前機(jī)器名
例:hostname??// ninizhang-pc5
vol??顯示當(dāng)前分區(qū)的卷標(biāo)
label??顯示當(dāng)前分區(qū)的卷標(biāo),同時(shí)提示輸入新卷標(biāo)
label c:system??設(shè)置c盤的卷標(biāo)為system
time??顯示或設(shè)置當(dāng)前時(shí)間
例:time /t??// 顯示當(dāng)前時(shí)間
例:time???// 設(shè)置新的當(dāng)前時(shí)間(格式:hh:mm:ss),直接回車則表示放棄設(shè)置
date??顯示或設(shè)置當(dāng)前日期
例:date /t??// 顯示當(dāng)前日期
例:date???// 設(shè)置新的當(dāng)前日期(格式:YYYY/MM/DD),直接回車則表示放棄設(shè)置
title?正在做命令行測試??// 修改當(dāng)前cmd窗口的標(biāo)題欄文字為正在做命令行測試
prompt orz:???// 將命令提示符修改為orz:
print 1.txt??// 使用設(shè)置好的打印機(jī)來打印1.txt文本文件
call ff.bat???// 調(diào)用執(zhí)行ff.bat腳本(ff.bat腳本執(zhí)行完原腳本才會(huì)往下執(zhí)行)
start??運(yùn)行某程序或命令
例:start?/max notepad.exe??// 最大化的方式啟動(dòng)記事本
例:start?/min calc.exe???// 最小化的方式啟動(dòng)計(jì)算器
例:start?/min "" d:\Proxifier.exe???// 最小化的方式啟動(dòng)Proxifier代理工具
例:start ?tasklist??// 啟動(dòng)一個(gè)cmd實(shí)例窗口,并運(yùn)行tasklist
例:start explorer f:\??// 調(diào)用資源管理器打開f盤
例:strat iexplore "www.qq.com"??// 啟動(dòng)ie并打開www.qq.com網(wǎng)址
例:start ff.bat??// 啟動(dòng)開始執(zhí)行ff.bat(啟動(dòng)ff.bat腳本后,原腳本繼續(xù)執(zhí)行,不會(huì)等ff.bat腳本執(zhí)行完)
exit??退出當(dāng)前cmd窗口實(shí)例
例:exit 0??// 退出當(dāng)前cmd窗口實(shí)例,并將過程退出代碼設(shè)置為0(0表示成功,非0表示失敗)
例:exit /B 1??// 退出當(dāng)前bat腳本,并將ERRORLEVEL系統(tǒng)變量設(shè)置為1
pause???暫停批處理程序,并顯示出:請(qǐng)按任意鍵繼續(xù)....
color??設(shè)置當(dāng)前cmd窗口背景色和前景色(前景色即為字體的顏色)
例:color??// 恢復(fù)到缺省設(shè)置
例:color 02?// 將背景色設(shè)為黑色,將字體設(shè)為綠色
--------------------------------------
0 = 黑色 8 = 灰色
1 = 藍(lán)色 9 = 淡藍(lán)色
2 = 綠色 A = 淡綠色
3 = 淺綠色 B = 淡淺綠色
4 = 紅色 C = 淡紅色
5 = 紫色 D = 淡紫色
6 = 黃色 E = 淡黃色
7 = 白色 F = 亮白色
--------------------------------------
mode con cols=200 lines=60 & color 9f ? ?設(shè)置DOS窗口顏色為9f,大小:200行 60列(若屏幕緩沖區(qū)大小的寬度w<200或高度h<60,最終DOS的窗口就會(huì)為w行,h列)
chcp??查看命令行環(huán)境字符編碼(為一個(gè)全局設(shè)置)
936 -- GBK(一般情況下為默認(rèn)編碼)
437 -- 美國英語
65001 -- utf-8
1200 -- utf-16
1201 -- utf-16(Big-Endian)
12000 -- utf-32
12001 -- utf-32(Big-Endian)
注:cmd的屬性窗口,選項(xiàng)標(biāo)簽頁也可以查看當(dāng)前代碼頁
chcp? 936??// 設(shè)置當(dāng)前命令行環(huán)境編碼為GBK??執(zhí)行完該命令后還需要將字體設(shè)置為點(diǎn)陣字體,才能真正將編碼環(huán)境切成utf8
chcp? 65001??// 設(shè)置當(dāng)前命令行環(huán)境編碼為utf8? 執(zhí)行完該命令后還需要將字體設(shè)置為Lucida Console,才能真正將編碼環(huán)境切成utf8
在注冊(cè)表中會(huì)寫入這些字段信息:
systeminfo??查看當(dāng)前計(jì)算機(jī)的綜合信息
systeminfo | findstr /i "初始安裝日期 系統(tǒng)啟動(dòng)時(shí)間"?? 只查看當(dāng)前計(jì)算機(jī)的初始安裝日期和系統(tǒng)啟動(dòng)時(shí)間
wmic?查看硬件的信息 ??--?C:\Windows\System32\wbem\WMIC.exe
例:wmic logicaldisk? ?// 查看計(jì)算機(jī)上各個(gè)盤的相關(guān)信息
例:wmic LogicalDisk where "Caption='C:'" get FreeSpace,Size /value???// 獲取C盤的剩余空間大小與總大小(單位:Byte)
例:wmic os get Caption,InstallDate,OSArchitecture /value??// 獲取當(dāng)前os的Caption、安裝日期以及系統(tǒng)架構(gòu)信息
wmic?查看進(jìn)程信息
例:wmic process where Caption="buyticket.exe" get commandline,ExecutablePath,ProcessId,ThreadCount /value?// 查看名為"buyticket.exe"所有進(jìn)程命令行,exe全路徑,PID及線程數(shù)
例:wmic process where Caption="buyticket.exe" get ExecutablePath,HandleCount /value???// 查看名為"buyticket.exe"所有進(jìn)程的exe全路徑及當(dāng)前打開的句柄數(shù)
例:wmic process where Caption="buyticket.exe" get ExecutablePath,VirtualSize,WorkingSetSize?/value???// 查看名為"buyticket.exe"所有進(jìn)程的exe全路徑、當(dāng)前虛擬地址空間占用及物理內(nèi)存工作集
logoff??注銷當(dāng)前用戶
shutdown??關(guān)閉、重啟、注銷、休眠計(jì)算機(jī)
例:shutdown /s??// 關(guān)閉計(jì)算機(jī)
例:shutdown /s /t 3600??// 一小時(shí)后,關(guān)閉本地計(jì)算機(jī)
例:shutdown /a??// 終止系統(tǒng)關(guān)閉
例:shutdown /r??// 關(guān)閉并重啟本地計(jì)算機(jī)
例:shutdown /m 192.168.1.166 /r??// 關(guān)閉并重啟ip為192.168.1.166的計(jì)算機(jī)
+++++++++++++++++++++
遠(yuǎn)程關(guān)機(jī)權(quán)限的獲取:
1)修改遠(yuǎn)程pc的“本地安全策略”,為指定的用戶開放權(quán)限
在WindowsXP默認(rèn)的安全策略中,只有Administrators組的用戶才有權(quán)從遠(yuǎn)端關(guān)閉計(jì)算機(jī),如果要給xxxx用戶遠(yuǎn)程關(guān)機(jī)的權(quán)限。
可利用WindowsXP的“組策略”或“管理工具”中的“本地安全策略”來實(shí)現(xiàn)。
1.命令行運(yùn)行g(shù)pedit.msc打開“組策略編輯器“;
2.導(dǎo)航到“計(jì)算機(jī)配置/Windows設(shè)置/安全設(shè)置/本地策略/用戶權(quán)利指派”;
3.修改“從遠(yuǎn)端系統(tǒng)強(qiáng)制關(guān)機(jī)”,添加xxxx用戶即可。
2)獲得遠(yuǎn)程IPC管理權(quán)限
如果配置第一步后還出現(xiàn)“拒絕訪問。”,則需要在運(yùn)行shutdown命令前先運(yùn)行如下命令
net use \\[ip地址或計(jì)算機(jī)名]\ipc$ password /user:xxxx
其中password為帳號(hào)xxxx的登錄密碼。
+++++++++++++++++++++
例:shutdown /g??// 關(guān)閉并重啟計(jì)算機(jī),重啟后重新啟動(dòng)所有注冊(cè)的應(yīng)用程序
例:shutdown /l??// 注銷本地計(jì)算機(jī)
例:shutdown /h /f?// 休眠本地計(jì)算機(jī)(強(qiáng)制正在運(yùn)行的應(yīng)用程序關(guān)閉,不前臺(tái)警告用戶)
例:shutdown /s??// 關(guān)閉計(jì)算機(jī)
regsvr32??注冊(cè)或反注冊(cè)com組件
例:regsvr32 /s clock.ocx??// 以無聲的方式注冊(cè)clock.ocx組件
例:regsvr32 /u myCommon.dll??// 卸載myCommon.dll組件
format??格式化磁盤
例:format J:?/FS:ntfs???// 以ntfs類型格式化J盤 【類型有:FAT、FAT32、exFAT、NTFS或UDF】
例:format J: /FS:fat32 /Q??//??以fat32類型快速格式化J盤
chkdsk /f D:???// 檢查磁盤D并顯示狀態(tài)報(bào)告;加參數(shù)/f表示同時(shí)會(huì)修復(fù)磁盤上的錯(cuò)誤
subst???磁盤映射 ?-- 磁盤映射信息都保存在注冊(cè)表以下鍵值中:HKEY_CURRENT_USER\Network
例:subst??// 顯示目前所有的映射
例:subst z: \\com\software??// 將\\com\software共享映射為本地z盤
例:subst y: e:\src??// 將e:\src映射為本地y盤
例:subst z: /d??// 刪除z盤映射
cmdkey???憑據(jù)Credential(保存的用戶名和密碼)
例:cmdkey /list??// 列出可用的憑據(jù)
例:cmdkey /list:10.12.190.82??// 列出指定目標(biāo)的憑據(jù)
例:cmdkey /list:Domain:target=10.12.190.82??// 列出指定目標(biāo)的憑據(jù)
例:cmdkey /add:Domain:target=10.12.190.82 /user:LiLei /pass:123456??// 若target為10.12.190.82的憑據(jù)不存在,則添加;否則就將10.12.190.82憑據(jù)的用戶名修改為LiLei,密碼修改為123456
例:cmdkey /delete:Domain:target=10.12.190.82??// 刪除指定目標(biāo)的憑據(jù)
cscript??執(zhí)行vbs腳本
例:cscript /Nologo mac.vbs??// 執(zhí)行mac.vbs腳本,顯示本機(jī)mac地址
-------mac.vbs----------
Dim mc,mo
Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
For Each mo In mc
If mo.IPEnabled=True Then
MsgBox "本機(jī)網(wǎng)卡MAC地址是: " & mo.MacAddress
Exit For
End If
Next
--------------------------
powershell (Add-Type?'[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)? ?關(guān)閉顯示器
注:Windows API? ? SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2)? ? HWND_BROADCAST為-1,WM_SYSCOMMAND為0x0112,SC_MONITORPOWER為0xF170
powercfg??設(shè)置電源方案
例:powercfg -list? ?//?列出當(dāng)前用戶環(huán)境中的所有電源方案的GUID以及當(dāng)前使用的是哪一個(gè)電源方案
例:powercfg -query 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c??// 查詢GUID為8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c的電源方案的詳細(xì)內(nèi)容
例:powercfg -h off??// 設(shè)置禁止休眠
// 設(shè)置硬盤從不關(guān)閉
powercfg -change -disk-timeout-dc 0
powercfg -change -disk-timeout-ac 0
// 設(shè)置顯示器從不關(guān)閉
powercfg -change -monitor-timeout-dc 0
powercfg -change -monitor-timeout-ac 0
// 設(shè)置從不進(jìn)入待機(jī)
powercfg -change -standby-timeout-dc 0
powercfg -change -standby-timeout-ac 0
// 設(shè)置從不進(jìn)入休眠
powercfg -change -hibernate-timeout-dc 0
powercfg -change -hibernate-timeout-ac 0
注1:dc代表直流電源 即使用電池供電;ac代表交流電源 即直接連接電源
注2:后面數(shù)字為時(shí)間,單位為分鐘;設(shè)置為0表示從不
netsh advfirewall??設(shè)置防火墻
windows防火墻規(guī)則順序:阻止規(guī)則的優(yōu)先級(jí)高于允許規(guī)則
例:netsh advfirewall?export "d:\test\advfirewall.pol"??//?將防火墻當(dāng)前的所有配置導(dǎo)出到d:\test\advfirewall.pol文件
例:netsh advfirewall import "d:\test\advfirewall.pol"??//?將d:\test\advfirewall.pol文件中規(guī)則導(dǎo)入到防火墻中
例:netsh advfirewall reset??// 將防火墻還原為默認(rèn)策略
例:netsh advfirewall set allprofiles state off??// 關(guān)閉所有類型網(wǎng)絡(luò)的防火墻(域網(wǎng)絡(luò)【Domain】、家庭或工作的專用網(wǎng)絡(luò)【Private】、公用網(wǎng)絡(luò)都關(guān)閉【Public】)
例:netsh advfirewall set allprofiles state on??// 開啟所有類型網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set currentprofile state off??// 關(guān)閉當(dāng)前類型網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set currentprofile state on?// 開啟當(dāng)前類型網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set domainprofile state on??// 開啟域網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set domainprofile state off??// 關(guān)閉域網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set?privateprofile state on??// 開啟家庭或工作的專用網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set?privateprofile state off???//?關(guān)閉家庭或工作的專用網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set?publicprofile state on??// 開啟公用網(wǎng)絡(luò)的防火墻
例:netsh advfirewall set?publicprofile state off???//?關(guān)閉公用網(wǎng)絡(luò)的防火墻
例:netsh advfirewall firewall show rule name=all???// 顯示所有規(guī)則
例:netsh advfirewall firewall show rule name=foxmail???// 顯示名為foxmail的所有規(guī)則
例:netsh advfirewall firewall set rule name="文件和打印機(jī)共享(回顯請(qǐng)求 - ICMPv4-In)" new enable=yes??// 開啟ping回顯
例:netsh advfirewall firewall delete rule name=NiZhanBrowser??// 刪除所有名為NiZhanBrowser的規(guī)則
例:netsh advfirewall firewall delete rule name=NiZhanBrowser?dir=in??// 刪除所有名為NiZhanBrowser的入站規(guī)則
例:netsh advfirewall firewall delete rule name=NiZhanBrowser?action=block??// 刪除所有名為NiZhanBrowser且操作為阻止的規(guī)則
例:netsh advfirewall firewall add rule name=TCP-In-8888 protocol=TCP localport=8888?dir=in?action=allow??// 添加名為TCP-In-8888入站規(guī)則:允許TCP端口8888
例:netsh advfirewall firewall add rule name=TCP-In-8888 protocol=TCP localport=8888 dir=in?action=block??// 添加名為TCP-In-8888入站規(guī)則:阻止TCP端口8888
例:netsh advfirewall firewall add rule name=TCP-In-8888 protocol=TCP localport=8888?dir=out action=allow??// 添加名為TCP-In-8888出站規(guī)則:允許TCP端口8888
例:netsh advfirewall firewall add rule name=TCP-In-8888 protocol=TCP localport=8888?dir=out action=block??// 添加名為TCP-In-8888出站規(guī)則:阻止TCP端口8888
// 添加名為test1入站規(guī)則:允許TCP端口8888、遠(yuǎn)程IP地址在10.96.208.0/23,10.96.154.0/23區(qū)間、遠(yuǎn)程Port在1024-2048,2050-65535
例:netsh advfirewall firewall add rule name=test1 protocol=TCP localport=8888?remoteip=10.96.208.0/23,10.96.154.0/23 remoteport=1024-2048,2050-65535 dir=in?action=allow?
// 添加名為test2入站規(guī)則:允許TCP端口8888、本地IP地址在10.46.50.32、本地Port在3702
例:netsh advfirewall firewall add rule name=test2 protocol=TCP localport=8888?localip=10.46.50.32 localport=3702 dir=in?action=allow?
// 添加名為test3入站規(guī)則:允許TCP端口8888、程序路徑為:D:\tools\test3.exe
例:netsh advfirewall firewall add rule name=test2 protocol=TCP localport=8888 program="D:\tools\test3.exe" dir=in?action=allow?
注:netsh advfirewall firewall add rule ???//?可用來查看幫助信息
netsh winsock reset? ?// 重置socket
?
netsh winhttp show proxy? // 顯示當(dāng)前系統(tǒng)的WinHttp的代理服務(wù)器設(shè)置
netsh winhttp set proxy web-proxy.tencent.com:8080? // 將當(dāng)前系統(tǒng)的WinHttp的代理服務(wù)器設(shè)置為:web-proxy.tencent.com:8080??注:設(shè)置完后需要禁用啟用一下網(wǎng)卡
netsh winhttp reset proxy? // 取消當(dāng)前系統(tǒng)的WinHttp的代理服務(wù)器設(shè)置,即:變成無代理的DIRECT模式
netsh winhttp import proxy source=ie??//?使用 import proxy 命令導(dǎo)入 Internet Explorer 使用的代理信息
netsh interface set interface 本地連接 disabled??// 禁用名為本地連接的網(wǎng)卡
netsh interface set interface?無線網(wǎng)絡(luò)連接 enabled??// 啟用名為無線網(wǎng)絡(luò)連接的網(wǎng)卡?
?
schtasks??任務(wù)計(jì)劃
例:schtasks /query /fo LIST /v??//?以較為詳細(xì)易于閱讀的格式顯示本機(jī)所有任務(wù)計(jì)劃信息
例:schtasks /create /sc minute /mo 20 /tn "Soda Build" /tr d:\check.vbs??//?創(chuàng)建一個(gè)名為Soda Build的任務(wù)計(jì)劃:該任務(wù)計(jì)劃每20分鐘執(zhí)行一下d:\check.vbs腳本
例:schtasks /create /tn "Soda Build" /tr D:\updateall.bat /sc daily /st 02:06 /f??// 強(qiáng)制創(chuàng)建一個(gè)名為Soda Build的任務(wù)計(jì)劃(不進(jìn)行確認(rèn)):該任務(wù)計(jì)劃每天凌晨2點(diǎn)06分執(zhí)行一下D:\updateall.bat腳本
例:schtasks /delete /tn "Soda Build" /f??//?強(qiáng)制刪除Soda Build名稱的任務(wù)計(jì)劃(不進(jìn)行確認(rèn))
例:schtasks /change /tn "Soda Build" /tr d:\check2.vbs??// 將名為Soda Build的任務(wù)計(jì)劃的執(zhí)行腳本修改為d:\check2.vbs
例:schtasks /run /tn "Soda Build"?// 執(zhí)行名為Soda Build的任務(wù)計(jì)劃
例:schtasks /end /tn "Soda Build"?// 終止執(zhí)行名為Soda Build的任務(wù)計(jì)劃
6. net命令
net start??// 查看已經(jīng)啟動(dòng)的服務(wù)
net start "Task Scheduler"???// 開啟任務(wù)計(jì)劃服務(wù)
net stop "Task Scheduler"?/y??// 不詢問,直接關(guān)閉任務(wù)計(jì)劃服務(wù)
net start dnscache??// 開啟dns緩存服務(wù)
net stop dnscache /y??// 不詢問,直接關(guān)閉dns緩存服務(wù)
net start TermService??// 開啟Remote Desktop Services服務(wù)
net stop?TermService /y??//?不詢問,直接關(guān)閉Remote Desktop Services服務(wù)
net share???// 查看當(dāng)前用戶下的共享目錄
net share workFile /delete??// 取消名為workFile的共享狀態(tài)
net share xxx=c:\360Downloads???// 將c:\360Downloads設(shè)為共享,并取名為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???// 查看本地局域網(wǎng)內(nèi)開啟了哪些共享
net view \\192.168.1.166??// 查看192.168.1.166的機(jī)器上在局域網(wǎng)內(nèi)開啟了哪些共享
net time \\127.0.0.1???// 查看本地機(jī)器的日期及時(shí)間
net time \\localhost???// 查看本地機(jī)器的日期及時(shí)間
net time \\192.168.1.166???// 查看192.168.1.166機(jī)器的日期及時(shí)間
net time \\192.168.1.166 /set??// 設(shè)置本地計(jì)算機(jī)時(shí)間與192.168.1.166主機(jī)的時(shí)間同步,加上參數(shù)/yes可取消確認(rèn)信息
net user??// 查看當(dāng)前機(jī)器上的用戶
net user Administrator???// 查看當(dāng)前機(jī)器上的Administrator用戶的信息
net user Guest /active:yes??// 啟用Guest用戶
net user dev 123456 /add???// 新建一個(gè)名為dev,密碼為123456的用戶
net localgroup administrators dev /add??// 把名為dev的用戶添加到管理員用戶組中,使其具有管理員權(quán)限
net user dev /del??// 刪除名為dev的用戶
7. 進(jìn)程操作
tasklist??// 顯示當(dāng)前運(yùn)行的進(jìn)程信息(可查看PID)
taskkill??結(jié)束指定的進(jìn)程
例:taskkill /im notepad.exe??// 結(jié)束名為notepad.exe的進(jìn)程
例:taskkill /pid 1230 /pid 1241 /pid 1253 /t?// 結(jié)束pid為1230、1241和1253的進(jìn)程以及由它們啟動(dòng)起來的子進(jìn)程
例:taskkill /f /im cmd.exe /t???// 強(qiáng)制結(jié)束有名為cmd.exe的進(jìn)程以及由它啟動(dòng)起來的子進(jìn)程
8. 網(wǎng)絡(luò)操作
ping??// 用于檢測網(wǎng)絡(luò)是否通暢,以及網(wǎng)絡(luò)時(shí)延情況(工作在ICMP協(xié)議上)
例:ping baidu.com???// ?測試與baidu服務(wù)器的連接情況
例:ping chen-pc0?? // 測試機(jī)器名為chen-pc0的連接情況
例:ping?220.181.111.86???// 測試與ip為220.181.111.86的連接情況
例:ping -l 65500 -n 10 qq.com???// 向qq.com發(fā)送10次65500字節(jié)的ping
例:ping -n 6 127.0.0.1?// 對(duì)當(dāng)前主機(jī)執(zhí)行6次ping操作(花費(fèi)時(shí)間為5s)
例:ping -t baidu.com???// 不斷地測試baidu服務(wù)器的連接情況 ??【Ctrl+Pause Break:查看ping的統(tǒng)計(jì)信息;Ctrl+C:終止當(dāng)前任務(wù)】
a. 首先查本地arp cache信息,看是否有對(duì)方的mac地址和IP地址映射條目記錄
b. 如果沒有,則發(fā)起一個(gè)arp請(qǐng)求廣播包,等待對(duì)方告知具體的mac地址
c. 收到arp響應(yīng)包之后,獲得某個(gè)IP對(duì)應(yīng)的具體mac地址,有了物理地址之后才可以開始通信了,同時(shí)對(duì)ip-mac地址做一個(gè)本地cache
d. 發(fā)出icmp echo request包,收到icmp echo reply包
注:如果在同一網(wǎng)段但ping不通目標(biāo)主機(jī),可能是目標(biāo)主機(jī)禁用了ping,可在防火墻高級(jí)設(shè)置中打開 “入站規(guī)則” -- “文件和打印機(jī)共享(回顯請(qǐng)求 - ICMPv4-In)”
ipconfig /all??// 查看本地ip地址等詳細(xì)信息
ipconfig /displaydns??// 顯示本地dns緩存的內(nèi)容
ipconfig /flushdns??// 清除本地dns緩存的內(nèi)容
nslookup www.cnblogs.com??// 獲取www.cnblogs.com的域名解析
服務(wù)器: gm-captiva.tencent.com//DNS服務(wù)器的主機(jī)名
Address: 10.6.18.41//DNS服務(wù)器IP
非權(quán)威應(yīng)答:
名稱: www.cnblogs.com//解析的域名URL
Address: 42.121.252.58//解析回的IP
nslookup -d www.cnblogs.com??// 打印出www.cnblogs.com的域名解析所有記錄
netstat -a???// 查看開啟了哪些端口
netstat -ao?//?查看開啟了哪些端口,并顯示進(jìn)程pid
netstat?-n??// 查看端口的網(wǎng)絡(luò)連接情況
netstat -v???// 查看正在進(jìn)行的工作
netstat -p tcp??// 查看tcp協(xié)議的使用情況
tracert 182.140.167.44??// 查看本機(jī)到達(dá)182.140.167.44的路由路徑
route print??// 顯示出IP路由
telnet?182.140.167.44 8000???//?探測182.140.167.44是否使用TCP協(xié)議監(jiān)聽8000端口(注意:telnet命令不支持UDP端口檢測)
說明:如果端口關(guān)閉或者無法連接,則顯示不能打開到主機(jī)的鏈接,鏈接失敗;端口打開的情況下,鏈接成功,則進(jìn)入telnet頁面(全黑的),證明端口可用。
用于探測指定IP的端口號(hào),只是telnet的一個(gè)基本功能;
遠(yuǎn)程登錄到網(wǎng)絡(luò)中的計(jì)算機(jī),并以命令行的方式遠(yuǎn)程管理計(jì)算機(jī)才是telnet命令的強(qiáng)大之處。
windows telnet服務(wù)器(默認(rèn)端口:23)環(huán)境配置過程如下:?參考1
a. 安裝telnet服務(wù)器
b.?啟動(dòng)Telnet服務(wù)
c. 關(guān)閉windows防火墻 ? ?注:若不想關(guān)閉防火墻,則需要在Windows防火墻 --?高級(jí)設(shè)置里面對(duì)Telnet服務(wù)器的訪問規(guī)則進(jìn)行配置
??
ftp 46.19.34.198 21??// 連接46.19.34.198 ftp服務(wù)器(21為端口號(hào)),然后會(huì)要求輸入用戶名與密碼;連接成功后,具體如何使用可以鍵入?來查看幫助說明
arp???顯示和修改地址解析協(xié)議(ARP)使用的“IP到mac”的地址轉(zhuǎn)換表
例:arp -a??// 顯示arp緩存表
at??計(jì)劃任務(wù)(必須保證“Task?Scheduler”服務(wù)啟動(dòng)???net start "task scheduler")
例:at??// 查看所有的計(jì)劃任務(wù)
例:at /delete /yes??// 停止所有任務(wù)計(jì)劃(不需要確認(rèn))
例:at 1??// 開啟id為1的計(jì)劃任務(wù)
例:at 1 /delete /yes??// 停止id為1的計(jì)劃任務(wù)(不需要確認(rèn))
例:at 12:42 shutdown –s –t30???// 到12:42 ,電腦會(huì)出現(xiàn)“ 系統(tǒng)關(guān)機(jī) ”對(duì)話框,并默認(rèn) 30 秒延時(shí)自動(dòng)關(guān)機(jī)
例:at?cmd /c dir > c:\test.out???// 如果命令不是exe文件,必須在命令前加上cmd /c
例:at 6:00AM /every:Saturday task.bat???//?在每周六早上6點(diǎn),電腦定時(shí)啟動(dòng)task.bat批處理文件
例:at \\chen?12:00 shutdown /r? ?// 到12:00時(shí),關(guān)閉名為chen的計(jì)算機(jī)
例:at \\192.168.1.166?12:00?shutdown /r? ?// 到12:00時(shí),關(guān)閉ip為192.168.1.166的計(jì)算機(jī)
9. 文本處理?
edit config.ini??// 編輯config.ini文件(會(huì)進(jìn)入edit字符編輯器;按alt,可以選擇對(duì)應(yīng)的菜單)?win7 x64下沒有該命令
find??文件中搜索字符串
例:find /N /I "pid" 1.txt??// 在1.txt文件中忽略大小寫查找pid字符串,并帶行號(hào)顯示查找后的結(jié)果
例:find /C "exe" 1.txt??// 只顯示在1.txt文件中查找到exe字符串的次數(shù)
例: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,并在每行結(jié)果前打印出1.txt: ? 注:findstr只有在2個(gè)及以上文件中搜索字符串時(shí)才會(huì)打印出每個(gè)文件的文件名,nul表示一個(gè)空文件
例:findstr /s /i "Hello" *.*???// 不區(qū)分大小寫,在當(dāng)前目錄和所有子目錄中的所有文件中的hello
例:findstr ?"^[0-9][a-z]" 1.txt??// 在1.txt中搜索以1個(gè)數(shù)字+1個(gè)小寫字母開頭子串的行
?
致謝:
windows常用命令 - 可可西 - 博客園 (cnblogs.com)
總結(jié)
以上是生活随笔為你收集整理的【windows命令】--cmd常用命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年最新软件测试行业发展趋势,究竟
- 下一篇: 中国工商银行成都市区营业网点分布一览表