批處理

批處理命令行

1.什麼是批處理:orm

參考百度百科:htm

http://baike.baidu.com/view/121494.htmip

2.批處理經常使用命令:字符串

1.Echo 命令get

打開回顯或關閉請求回顯功能,或顯示消息。若是沒有任何參數,echo 命令將顯示當前回顯設置。cmd

語法string

echo [{on|off}] [message]it

Sample篅echo off / echo hello worldio

在實際應用中咱們會把這條命令和重定向符號(也稱爲管道符號,通常用> >> ^)結合來實現輸入一些命令到特定格式的文件中.這將在之後的例子中體現出來。

 

2.@ 命令

表示不顯示@後面的命令,在入侵過程當中(例如使用批處理來格式化敵人的硬盤)天然不能讓對方看到你使用的命令啦。

Sample:@echo off

@echo Now initializing the program,please wait a minite...

@format X: /q/u/autoset (format 這個命令是不可使用/y這個參數的,可喜的是微軟留了個autoset這個參數給咱們,效果和/y是同樣的。)

 

3.Goto 命令

指定跳轉到標籤,找到標籤後,程序將處理從下一行開始的命令。

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

Sample:

if {%1}=={} goto noparms

if {%2}=={} goto noparms(若是這裏的if、%一、%2你不明白的話,先跳過去,後面會有詳細的解釋。)

@Rem check parameters if null show usage

:noparms

echo Usage: monitor.bat ServerIP PortNumber

goto end

標籤的名字能夠隨便起,可是最好是有意義的字母啦,字母前加個:用來表示這個字母是標籤,goto命令就是根據這個:來尋找下一步跳到到那裏。最好有一些說明這樣你別人看起來纔會理解你的意圖啊。

 

4.Rem 命令

註釋命令,在C語言中至關與/*--------*/,它並不會被執行,只是起一個註釋的做用,便於別人閱讀和你本身往後修改。

Rem Message

Sample:@Rem Here is the description.

 

5.Pause 命令

運行 Pause 命令時,將顯示下面的消息: 

Press any key to continue . . . 

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 命令接受用做調用目標的標籤。若是在腳本或批處理文件外使用 Call,它將不會在命令行起做用。

語法

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

參數

[Drive:}[Path] FileName 

指定要調用的批處理程序的位置和名稱。filename 參數必須具備 .bat 或 .cmd 擴展名。

 

7.start 命令

調用外部程序,全部的DOS命令和命令行程序均可以由start命令來調用。

入侵常 用參數:

MIN 開始時窗口最小化

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

HIGH 在 HIGH 優先級類別開始應用程序

REALTIME 在 REALTIME 優先級類別開始應用程序

WAIT 啓動應用程序並等候它結束

parameters 這些爲傳送到命令/程序的參數

執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用程序終止就返回命令提示。若是在命令腳本內執行,該新行爲則不會發生。

8.choice 命令

choice 使用此命令可讓用戶輸入一個字符,從而運行不一樣的命令。使用時應該加/c:參數,c:後應寫提示可輸入的字符,之間無空格。它的返回碼爲1234……

 

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

將顯示

defrag,mem,end[D,M,E]?

Sample:

Sample.bat的內容以下: 

@echo off 

choice /c:dme defrag,mem,end 

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

if errorlevel 2 goto mem 

if errotlevel 1 goto end 

 

:defrag 

c:\dos\defrag 

goto end 

:mem 

mem 

goto end 

:end 

echo good bye

 

此文件運行後,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,而後if語句將做出判斷,d表示執行標號爲defrag的程序段,m表示執行標號爲mem的程序段,e表示執行標號爲end的程序段,每一個程序段最後都以goto end將程序跳到end標號處,而後程序將顯示good bye,文件結束。

 

9.If 命令

 

if 表示將判斷是否符合規定的條件,從而決定執行不一樣的命令。 有三種格式: 

一、if "參數" == "字符串" 待執行的命令 

參數若是等於指定的字符串,則條件成立,運行命令,不然運行下一句。(注意是兩個等號)

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

if {%1}=={} goto noparms

if {%2}=={} goto noparms

 

二、if exist 文件名 待執行的命令 

若是有指定的文件,則條件成立,運行命令,不然運行下一句。

如if exist config.sys edit config.sys 

 

三、if errorlevel / if not errorlevel 數字 待執行的命令 

若是返回碼等於指定的數字,則條件成立,運行命令,不然運行下一句。

如if errorlevel 2 goto x2 

DOS程序運行時都會返回一個數字給DOS,稱爲錯誤碼errorlevel或稱返回碼,常見的返回碼爲0、1。

 

10.for 命令

for 命令是一個比較複雜的命令,主要用於參數在指定的範圍內循環執行命令。

在批處理文件中使用 FOR 命令時,指定變量請使用 %%variable

 

for {%variable|%%variable} in (set) do command [ CommandLineOptions]

%variable 指定一個單一字母可替換的參數。

(set) 指定一個或一組文件。可使用通配符。

command 指定對每一個文件執行的命令。

command-parameters 爲特定命令指定參數或命令行開關。

在批處理文件中使用 FOR 命令時,指定變量請使用 %%variable

而不要用 %variable。變量名稱是區分大小寫的,因此 %i 不一樣於 %I

 

若是命令擴展名被啓用,下列額外的 FOR 命令格式會受到

支持:

 

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

 

若是集中包含通配符,則指定與目錄名匹配,而不與文件

名匹配。

 

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

 

檢查以 [drive:]path 爲根的目錄樹,指向每一個目錄中的

FOR 語句。若是在 /R 後沒有指定目錄,則使用當前

目錄。若是集僅爲一個單點(.)字符,則枚舉該目錄樹。

 

FOR /L %variable IN (start,step,end) DO command [command-para

 

該集表示以增量形式從開始到結束的一個數字序列。

所以,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生

序列 (5 4 3 2 1)。

 

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 

 

或者,若是有 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 

 

filenameset 爲一個或多個文件名。繼續到 filenameset 中的

下一個文件以前,每份文件都已被打開、讀取並通過處理。

處理包括讀取文件,將其分紅一行行的文字,而後將每行

解析成零或更多的符號。而後用已找到的符號字符串變量值

調用 For 循環。以默認方式,/F 經過每一個文件的每一行中分開

的第一個空白符號。跳過空白行。您可經過指定可選 "opti

3.一鍵啓動QQ,vs,youdao等應用:

新建一個文件  autostart.bat

文件的內容:命令以下

@echo off
set path=%path%;C:\Users\PC\AppData\Local\Youdao\Dict\Application\
start YodaoDict.exe
set path=%path%;D:\soft\QQ\QQProtect\Bin\
start QQProtect.exe
set path=%path%;D:\soft\Jingoal\
start Jingoal.exe
set path=%path%;"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\
start devenv.exe"

--------------------------------完

 

用做延時:ping 127.1 -n 5 >nul(可選)

相關文章
相關標籤/搜索