windows 批處理可以看作腳本嗎?分享下bat腳本常用的一些命令參數打開回顯或關閉請求回顯功能,或顯示消息如果沒有任何參數,echo 命令将顯示當前回顯設置,接下來我們就來聊聊關于windows 批處理可以看作腳本嗎?以下内容大家不妨參考一二希望能幫到您!
分享下bat腳本常用的一些命令參數
1.echo 命令打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令将顯示當前回顯設置。
語法:
echo [{on│off}] [message]
Sample:@echo off / echo hello world
在實際應用中我們會把這條命令和重定向符号(也稱為管道符号,一般用> >> ^)結合來實現輸入一些命
令到特定格式的文件中.這将在以後的例子中體現出來。
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、%1、%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]? 用戶可選擇d m e ,然後if語句将作出判斷,d表示執行
标号為defrag的程序段,m表示執行标号為mem的程序段,e表示執行标号為end的程序段,每個程序段最後
都以goto end将程序跳到end标号處,然後程序将顯示good bye,文件結束。
9.If 命令if 表示将判斷是否符合規定的條件,從而決定執行不同的命令。
有三種格式:
1)、if "參數" == "字符串" 待執行的命令
參數如果等于指定的字符串,則條件成立,運行命令,否則運行下一句。(注意是兩個等号)
如if "%1"=="a" format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
2)、if exist 文件名 待執行的命令
如果有指定的文件,則條件成立,運行命令,否則運行下一句。
如if exist config.sys edit config.sys
3)、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-parameters]
後面會分享更多平時工作用到的内容,感興趣的朋友可以關注下!!
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!