Ⅰ 怎樣用DOS命令或批處理實現發送一個文件的快捷方式至桌面上
發送快捷方式,由於批處理自身無法實現,所以我們藉助VBS腳本代碼實現。
在下面的代碼中我將利用批處理調用VBS腳本以達到創建快捷方式的效果。
代碼使用方法:只需復制代碼後粘帖到新的空文本文件中,然後按照腳本中注釋的要求去修改內容,並保存為後綴名為bat的文件,最後雙擊這個bat文件即可執行並創建快捷方式。
以下為腳本代碼:
@echooff
::設置程序或文件的完整路徑(必選)
setProgram=D:MyAppapp.exe
::設置快捷方式名稱(必選)
setLnkName=我的APP程序
::設置程序的工作路徑,一般為程序主目錄,此項若留空,腳本將自行分析路徑
setWorkDir=D:MyApp
::設置快捷方式顯示的說明(可選)
setDesc=這是我的個人程序。
ifnotdefinedWorkDircall:GetWorkDir"%Program%"
(echoSetWshShell=CreateObject("WScript.Shell"^)
echostrDesKtop=WshShell.SpecialFolders("DesKtop"^)
echoSetoShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LnkName%.lnk"^)
echooShellLink.TargetPath="%Program%"
echooShellLink.WorkingDirectory="%WorkDir%"
echooShellLink.WindowStyle=1
echooShellLink.Description="%Desc%"
echooShellLink.Save)>makelnk.vbs
echo桌面快捷方式創建成功!
makelnk.vbs
del/f/qmakelnk.vbs
exit
goto:eof
:GetWorkDir
setWorkDir=%~dp1
setWorkDir=%WorkDir:~,-1%
goto:eof
以下為腳本的命令說明圖:
Ⅱ dos批處理
批處理弄個太高深的我怕沒人看,今天就說說批處理文件的編寫吧,從某種意義上說,批處理就是一種編程,其實批處理是一種宏,但是用途非常廣泛,可以實現一些用軟體才可以實現的簡單功能。
希望大家仔細看,並跟帖討論
跳轉(可用作循環)的話可以是這樣:
@echo off
:a
c:\winnt\system32\hacr.bin c:\inetpub\scripts\index.htm
goto a
echo off是為了隱藏下面語句的執行;
@符號是隱藏echo off這個語句;
:a是定義循環模塊a(模塊名字可以定義,後面可以有n條語句);
goto a是跳到a循環模塊。
上面的.bat是個死循環,我改了主頁後常常在後門中執行他,後門一天沒關,hacr.bin一天沒刪,主頁默認index.htm一天沒改,主頁也就一天該不回!
從多重跳轉中跳出來可以這樣寫:
@echo off
goto b
:a
c:\winnt\system32\hacr.bin c:\inetpub\scripts\index.htm
goto end
:b
c:\winnt\system32\hacr.bin c:\inetpub\scripts\index.htm goto a
:end
循環的話,可以這樣:
FOR /L %%i IN (1,1,5) do start c:\winnt\system32\notepad.exe
執行後打開notepad.exe 5次。哎,我用了2年dos,但bat的判斷我還是記不太清了,好像是:
if exist filename command 這句意思是如果存在filename(必須是可執行文件)就執行後面的command。
應該還有一個如果不存在filename(必須是可執行文件)就執行後面的command的語句,可惜我實在忘了(以上實例均在win2k Pro下通過)。呵呵... 附錄:if語句和for語句的help
1。IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command NOT 指定只有條件為 false 的情況下, Windows 2000 才 應該執行該命令。
ERRORLEVEL number 如果最後運行的程序返回一個等於或大於 指定數字的退出編碼,指定條件為true。
string1==string2 如果指定的文本字元串匹配,指定一個 true 條件。
EXIST filename 如果指定的文件名存在,指定一個 true 條件。
command 如果條件符合,指定要執行的命令。如果指定的 條件為 FALSE,ELSE 命令可隨在命令之後,ELSE 命令將在 ELSE 關鍵字之後執行該命令。
ELSE 子句必須在 IF 之後出現在同一行上。例如:
IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. )
因為 del 命令需要用一個新行終止,以下子句不會有效: IF EXIST filename. del filename. ELSE echo filename. missing 由於ELSE 命令必須與 IF 命令的尾端在同一行上,以下子句也 不會有效: IF EXIST filename. del filename. ELSE echo filename. missing 如果都放在同一行上,以下子句有效: IF
EXIST filename. (del filename.) ELSE echo filename. missing 如果命令擴展名被啟用,IF 會如下改變: IF string1 compare-op string2 command IF CMDEXTVERSION number command IF
DEFINED variable command 其中,比較運算符可以是: EQU - 等於 NEQ - 不等於
LSS - 小於 LEQ - 小於或等於 GTR - 大於 GEQ - 大於或等於 及 /I 命令選項;如果該命令選項被指定,則說明要進行的字元串比較不分 大小寫。/I 命令選項可以用於 IF 的 string1==string2 的形式上。
這些 比較都是通用的;
原因是,如果 string1 和 string2 都是由數字 組成的,字元串會被轉換成數字,進行數字比較。 CMDEXTVERSION 條件的作用跟 ERRORLEVEL 的一樣,除了它 是在跟與命令擴展名有關聯的內部版本號比較。第一個版本 是
1。每次對命令擴展名有相當大的增強時,版本號會增加一個。
命令擴展名被停用時,CMDEXTVERSION 條件不是真的。
如果已定義環境變數,DEFINED 條件的作用跟 EXISTS 的一樣, 除了它取得一個環境變數,返回的結果是 true。
如果沒有名為 ERRORLEVEL 的環境變數,%ERRORLEVEL% 會擴充為 ERROLEVEL 當前數值的字串符表達式;否則,您會得到 其數值。運行程序後,以下語句說明 ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
您也可以使用以上的數字比較:
IF %ERRORLEVEL% LEQ 1 goto okay
如果沒有名為 CMDCMDLINE 的環境變數,%CMDCMDLINE% 將在 CMD.EXE 進行任何處理前擴充為傳遞給 CMD.EXE 的原始命令行;否則,您會得到其數值。
如果沒有名為 CMDEXTVERSION 的環境變數,
%CMDEXTVERSION% 會擴充為 CMDEXTVERSION 當前數值的 字串符表達式;否則,您會得到其數值。
2。FOR %variable IN (set) DO command [command-parameters] %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 [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN (<|>command<|>) DO command [command-parameters]
或者,如果有 usebackq 選項:
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN (<|>command<|>) DO command [command-parameters] filenameset 為一個或多個文件名。繼續到 filenameset 中的 下一個文件之前,每份文件都已被打開、讀取並經過處理。 處理包括讀取文件,將其分成一行行的文字,然後將每行 解析成零或更多的符號。然後用已找到的符號字元串變數值
調用 For 循環。以默認方式,/F 通過每個文件的每一行中分開 的第一個空白符號。跳過空白行。您可通過指定可選 "options" 參數替代默認解析操作。這個帶引號的字元串包括一個或多個 指定不同解析選項的關鍵字。這些關鍵字為:
eol=c - 指一個行注釋字元的結尾(就一個)
skip=n - 指在文件開始時忽略的行數。
delims=xxx - 指分隔符集。
這個替換了空格和跳格鍵的 默認分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代 的 for 本身。
這會導致額外變數名稱的分配。m-n 格式為一個范圍。
通過 nth 符號指定 mth。如果 符號字元串中的最後一個字元星號,
那麼額外的變數將在最後一個符號解析之後 分配並接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:
在作為命令執行一個後引號的字元串並且一個單 引號字元為文字字元串命令並允許在 filenameset 中使用雙引號擴起文件名稱。
某些範例可能有助:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k 會分析 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 的大寫變數名 比較易讀,而且避免與不分大小寫的組合鍵混淆。
前言
最近對於批處理技術的探討比較熱,也有不少好的批處理程序發布,但是如果沒有一定的相關知識恐怕不容易看懂和理解這些批處理文件,也就更談不上自己動手編寫了,古語雲:「授人以魚,不如授人以漁。」因為網上好像並沒有一個比較完整的教材,所以抽一點時間寫了這片<<簡明批處理教程> >給新手朋友們.也獻給所有為實現網路的自由與共享而努力的朋友們.
批處理文件是無格式的文本文件,它包含一條或多條命令。它的文件擴展名為 .bat 或 .cmd。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統就會調用Cmd.exe按照該文件中各個命令出現的順序來逐個運行它們。使用批處理文件(也被稱為批處理程序或腳本),可以簡化日常或重復性任務。當然我們的這個版本的主要內容是介紹批處理在入侵中一些實際運用,例如我們後面要提到的用批處理文件來給系統打補丁、批量植入後門程序等。下面就開始我們批處理學習之旅吧。
一.簡單批處理內部命令簡介
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,文件結束。
你好。dos批處理
Ⅲ DOS命令求幫助
醬油黨路過,這個不是一般的程序代碼,真心不懂
Ⅳ 誰知道DOS的一些基本的命令啊寫給我可以嗎
文件名是由文件路徑和文件名稱合起來的,如C:\DOS\COMMAND.COM。
DIR 顯示文件和文件夾(目錄)。
用法:DIR [文件名] [選項]
它有很多選項,如/A表示顯示所有
文件(即包括帶隱含和系統屬性的文件),/S表示也顯示子文件夾中的文件,/P表示分屏顯示,/B表示只顯示文件名,等等。
如 DIR A*.EXE /A /P
此命令分屏顯示當前文件夾下所有以A開頭後綴為EXE的文件(夾)。
CD或CHDIR 改變當前文件夾。
用法:CD [文件夾名]
若無文件夾名則顯示當前路徑。
MD或MKDIR 建立文件夾。
用法:MD 文件夾名
RD或RMDIR 刪除文件夾。
用法:RD 文件夾名
注意:此文件夾必須是空的。
DEL或ERASE 刪除文件。
用法:DEL/ERASE 文件名
COPY 拷貝文件。
用法: COPY 文件名1 [文件名2] [選項]
如 COPY /B A+B C
此命令將兩個二進制文件A和B合為一個文件C。
TYPE 顯示文件內容。
用法:TYPE 文件名
REN或RENAME 改變文件名,在DOS7中還可以改變文件夾名。
用法:REN 文件(夾)名1 文件(夾)名2
EDIT 編輯文件,在DOS7中還可以編輯二進制文件。
用法:EDIT [文件名] [選項]
如 EDIT /70 C:\COMMAND.COM
此命令以二進制方式編輯C:\COMMAND.COM文件。
FORMAT 格式化磁碟。
用法:FORMAT 驅動器 [選項]
它的選項很多,如/Q是快速格式化,/U表示無條件格式化(即無法使用UNFORMAT等命令恢復),/V指定磁碟的卷標名,等等。它還有許多未公開參數。
MEM 顯示內存狀態。
用法:MEM [選項]
它的選項也有不少,如/C可列出所有程序的內存佔用,/D是顯示駐留內存的程序及設備驅動程序的狀態等詳細信息,/F顯示空閑的內存總量,/M顯示內存中的模塊信息,/P則是分屏顯示。還有隱藏的/A選項,可以顯示HMA信息。
MOVE 移動文件或文件夾,還可以更改文件或文件夾的名稱。
用法:MOVE 文件[夾]1 文件[夾]2
如 MOVE C:\*.EXE D:
此命令可以將C盤根文件夾下所有擴展名為EXE的文件移到D盤上。
XCOPY 復制文件或文件夾。
用法:XCOPY 文件[夾]名1 [文件[夾]名2] [選項]
它的選項非常多,如/S可拷貝整個文件夾(包括子文件夾)中的文件,/E指定包括空文件夾,/V表示復制完後檢驗復制出的文件的正確性,/Y表示確認,等等。
CLS 清除屏幕。
用法:CLS
SYS 傳導系統,即將系統文件(如IO.SYS等)從一處傳輸到指定的驅動器中。
用法:SYS 文件夾名 [驅動器]
如 SYS C:\DOS A:
此命令即可將位於C:\DOS文件夾下的系統文件傳輸到A盤中。
DATE 顯示或設置日期。
用法:DATE [日期]
TIME 顯示或設置時間。
用法:TIME [時間]
DOS還自帶一些其它的命令,如SORT(排序),FIND(尋找字元)等。
Ⅳ DOS的命令有哪些
**DOS命令大全
一)MD——建立子目錄
1.功能:創建新的子目錄
2.類型:內部命令
3.格式:MD[盤符:][路徑名]〈子目錄名〉
4.使用說明:
(1)「盤符」:指定要建立子目錄的磁碟驅動器字母,若省略,則為當前驅動器;
(2)「路徑名」:要建立的子目錄的上級目錄名,若預設則建在當前目錄下。
例:(1)在C盤的根目錄下創建名為FOX的子目錄;(2)在FOX子目錄下再創建USER子目錄。
C:、>MD FOX (在當前驅動器C盤下創建子目錄FOX)
C:、>MD FOX 、USER (在FOX 子目錄下再創建USER子目錄)
(二)CD——改變當前目錄
1.功能:顯示當前目錄
2.類型:內部命令
3.格式:CD[盤符:][路徑名][子目錄名]
4.使用說明:
(1)如果省略路徑和子目錄名則顯示當前目錄;
(2)如採用「CD、」格式,則退回到根目錄;
(3)如採用「CD.。」格式則退回到上一級目錄。
例:(1)進入到USER子目錄;(2)從USER子目錄退回到子目錄;(3)返回到根目錄。
C:、>CD FOX 、USER(進入FOX子目錄下的USER子目錄)
C:、FOX、USER>CD.。 (退回上一級根目錄)
C:、FOX>CD、 (返回到根目錄)
C:、>
(三)RD——刪除子目錄命令
1.功能:從指定的磁碟刪除了目錄。
2.類型:內部命令
3.格式:RD[盤符:][路徑名][子目錄名]
4.使用說明:
(1)子目錄在刪除前必須是空的,也就是說需要先進入該子目錄,使用DEL(刪除文件的命令)將其子目錄下的文件刪空,然後再退回到上一級目錄,用RD命令刪除該了目錄本身;
(2)不能刪除根目錄和當前目錄。
例:要求把C盤FOX子目錄下的USER子目錄刪除,操作如下:
第一步:先將USER子目錄下的文件刪空;
C、>DEL C:、FOX、USER、*。*
第二步,刪除USER子目錄。
C、>RD C:、FOX、USER
(四)DIR——顯示磁碟目錄命令
1.功能:顯示磁碟目錄的內容。
2.類型:內部命令
3.格式:DIR [盤符][路徑][/P][/W]
4.
使用說明:/P的使用;當欲查看的目錄太多,無法在一屏顯示完屏幕會一直往上卷,不容易看清,加上/P參數後,屏幕上會分面一次顯示23行的文件信息,然後暫停,並提示;Press
any key to continue
/W的使用:加上/W只顯示文件名,至於文件大小及建立的日期和時間則都省略。加上參數後,每行可以顯示五個文件名。
PATH——路徑設置命令
1.功能:設備可執行文件的搜索路徑,只對文件有效。
2.類型:內部命令
3.格式:PATH[盤符1]目錄[路徑名1]{[;盤符2:],〈目錄路徑名2〉…}
4.使用說明:
(1)當運行一個可執行文件時,DOS會先在當前目錄中搜索該文件,若找到則運行之;若找不到該文件,則根據PATH命令所設置的路徑,順序逐條地到目錄中搜索該文件;
(2)PATH命令中的路徑,若有兩條以上,各路徑之間以一個分號「;」隔開;
(3)PATH命令有三種使用方法:
PATH[盤符1:][路徑1][盤符2:][路徑2]…(設定可執行文件的搜索路徑) PATH:(取消所有路徑)
PATH:(顯示目前所設的路徑)
(六)TREE——顯示磁碟目錄結構命令
1.功能:顯示指定驅動器上所有目錄路徑和這些目錄下的所有文件名。
2.類型:外部命令
3.格式:TREE[盤符:][/F][》PRN]
4.使用說明:
(1)使用/F參數時顯示所有目錄及目錄下的所有文件,省略時,只顯示目錄,不顯示目錄下的文件;
(2)選用>PRN參數時,則把所列目錄及目錄中的文件名列印輸出。
(七)DELTREE——刪除整個目錄命令
1.功能:將整個目錄及其下屬子目錄和文件刪除。
2.類型:外部命令
3.格式:DELTREE[盤符:]〈路徑名〉
4.使用說明:該命令可以一步就將目錄及其下的所有文件、子目錄、更下層的子目錄一並刪除,而且不管文件的屬性為隱藏、系統或只讀,只要該文件位於刪除的目錄之下,DELTREE都一視同仁,照刪不誤。使用時務必小心!!!
五、磁碟操作類命令
(一)formAT——磁碟格式化命令
1.功能:對磁碟進行格式化,劃分磁軌和扇區;同時檢查出整個磁碟上有無帶缺陷的磁軌,對壞道加註標記;建立目錄區和文件分配表,使磁碟作好接收DOS的准備。
2.類型:外部命令
3.格式:formAT〈盤符:〉[/S][/4][/Q]
4.使用說明:
(1)命令後的盤符不可預設,若對硬碟進行格式化,則會如下列提示:WARNING:ALL DATA ON NON
——REMOVABLE DISK
DRIVE C:WILL BE LOST !
Proceed with format (Y/N)?
(警告:所有數據在C盤上,將會丟失,確實要繼續格式化嗎?)
(2)若是對軟盤進行格式化,則會如下提示:Insert mew diskette for drive A;
and press ENTER when ready…
(在A驅中插入新盤,准備好後按回車鍵)。
(3)選用[/S]參數,將把DOS系統文件IO.SYS
、MSDOS.SYS及COMMAND.COM復制到磁碟上,使該磁碟可以做為DOS啟動盤。若不選用/S參數,則格式化後的磙盤只能讀寫信息,而不能做為啟動盤;
(4)選用[/4]參數,在1.2MB的高密度軟碟機中格式化360KB的低密度盤;
(5)選用[/Q]參數,快速格式化,這個參數並不會重新劃分磁碟的磁軌貌岸然和扇區,只能將磁碟根目錄、文件分配表以及引導扇區清成空白,因此,格式化的速度較快。
(6)選用[/U]參數,表示無條件格式化,即破壞原來磁碟上所有數據。不加/U,則為安全格式化,這時先建立一個鏡象文件保存原來的FAT表和根目錄,必要時可用UNFORRMAT恢復原來的數據。
(二)UNformAT恢復格式化命令
1.功能:對進行過格式化誤操作丟失數據的磁碟進行恢復。
2.類型:外部命令
3.格式:UNformAT〈盤符〉[/L][/U][/P][/TEST]
4.使用說明:用於將被「非破壞性」格式化的磁碟恢復。根目錄下被刪除的文件或子目錄及磁碟的系統扇區(包括FAT、根目錄、BOOT扇區及硬碟分區表)受損時,也可以用UNformAT來搶救。
(1)選用/L參數列出找到的子目錄名稱、文件名稱、大孝日期等信息,但不會真的做formAT工作。
(2)選用/P參數將顯示於屏幕的報告(包含/L參數所產生的信息)同時也送到列印機。運行時屏幕會顯示:「Print out will
be sent to LPT1」
(3)選用/TEST參數只做模擬試驗(TEST)不做真正的寫入動作。使用此參數屏幕會顯示:「Simulation only」
(4)選用/U參數不使用MIRROR映像文件的數據,直接根據磁碟現狀進行UNformAT。
(5)選用/PSRTN;修復硬碟分區表。
若在盤符之後加上/P、/L、/TEST之一,都相當於使用了/U參數,UNformAT會「假設」此時磁碟沒有MIRROR映像文件。
注意:UNformAT對於剛formAT的磁碟,可以完全恢復,但formAT後若做了其它數據的寫入,則UNformAT就不能完整的救回數據了。UNformAT並非是萬能的,由於使用UNformAT會重建FAT與根目錄,所以它也具有較高的危險性,操作不當可能會擴大損失,如果僅誤刪了幾個文件或子目錄,只需要利用UNDELETE就夠了。
三) CHKDSK——檢查磁碟當前狀態命令
1.功能:顯示磁碟狀態、內存狀態和指定路徑下指定文件的不連續數目。
2.類型:外部命令
3.格式:CHKDSK [盤符:][路徑][文件名][/F][/V]
4.使用說明:
(1)選用[文件名]參數,則顯示該文件佔用磁碟的情況;
(2)選[/F]參數,糾正在指定磁碟上發現的邏輯錯誤;
(3)選用[/V]參數,顯示盤上的所有文件和路徑。
(四)DISKCOPY——整盤復制命令
1.功能:復制格式和內容完全相同的軟盤。
2.類型:外部命令
3.格式:DISKCOPY[盤符1:][盤符2:]
4.使用說明:
(1)如果目標軟盤沒有格式化,則復制時系統自動選進行格式化。
(2)如果目標軟盤上原有文件,則復制後將全部丟失。
(3)如果是單驅動器復制,系統會提示適時更換源盤和目標盤,請操作時注意分清源盤和目標盤。
(五)LABEL——建立磁碟卷標命令
1.功能:建立、更改、刪除磁碟卷標。
2.類型:外部命令
3.格式:LABEL[盤符:][卷標名]
4.使用說明:
(1)卷標名為要建立的卷標名,若預設此參數,則系統提示鍵入卷標名或詢問是否刪除原有的卷標名;
(2)卷標名由1至11個字元組成。
(六)VOL——顯示磁碟卷標命令
1.功能:查看磁碟卷標號。
2.類型:內部命令
3.格式:VOL[盤符:]
4.使用說明:省略盤符,顯示當前驅動器卷標。
(七)SCANDISK——檢測、修復磁碟命令
1.功能:檢測磁碟的FAT表、目錄結構、文件系統等是否有問題,並可將檢測出的問題加以修復。
2.類型:外部命令
3.格式:SCANDISK[盤符1:]{[盤符2:]…}[/ALL]
4.使用說明:
(1)CCANDISK適用於硬碟和軟盤,可以一次指定多個磁碟或選用[/ALL]參數指定所有的磁碟;
(2)可自動檢測出磁碟中所發生的交叉連接、丟失簇和目錄結構等邏輯上的錯誤,並加以修復。
(八)DEFRAG——重整磁碟命令
1.。功能:整理磁碟,消除磁碟碎塊。
2.類型:外部命令
相關教程:
http://www.softhouse.com.cn/html/200501/2005012608080500004109.html
Ⅵ 在dos中分區的命令是什麼
如何在DOS下進行硬碟分區及格式化命令?
硬碟分區(Fdisk)
1 進入BIOS,將引導順序設為「A: , C: , SCSI"
目的:能用WIN98啟動軟盤引導系統。
2 進入啟動菜單。
選擇啟動方式。
Microsoft windows98 startup Menu 中方大意: 1) Start windows98 setup from CD-ROM. 1.從光碟機直接安裝win98 2) Start computer
with CD-ROM support 2.引導系統並載入光碟機 3) Start computer without CD-ROM support 3. 引導系統並不載入光碟機 Enter a chine 3
輸入選擇:
一,選擇「3」引導進入系統
二,屏幕顯示DOS提示盤符「A : \ >"鍵入「Fdisk" 命令
3,選擇FAT標准
執行FDISK命令
Your computer has a .......... do not enable Carye drige support Do you mish to enable large disk appoint (Y\N)...[Y] 中文大意 如果硬碟容量大於
512mb時,將可以使用FAT32分區(突破2G限制)管理大硬碟。 警告:
如果使用FAT32模式建立分區,那麼DOS 6.X和Win NT系統將無法讀,寫所建立的邏輯盤(FAT32模式)。 你將使FAT32模式分區嗎(Y\N)? [Y] (回車同意使用, 輸入「N」不用)
註:一般情況下應使用FAT32標准。如果不使用FAT32而使用FAT16文件標准(在執行FDISK命
令的上圖中選擇「N"),那麼所建立的每個分區容量不能超過2G。
4.建立主分區
在確定模式後,我們進行分區
Microsoft Windows 98 Fixed Disk
Setup Program (C) Copyright Microsoft Corp. 1983--1998
FDISK Options 中文大意: Current
fixed disk drive : 1 當前處理能者對象為主硬碟(1)
Choose one of the following :
選擇以下某一種操作: 1. Create DOS partition or Logical DOS Drive 1.建立分區或邏輯盤 2. Set active partition
2.激活分區 3. Delete partition or Logical DOS Drive
3.刪除分區或邏輯盤
4. Display partition information 4.列出當前硬碟分區情況
Enter choice :[ 1 ] 輸入選擇:[1] WARNING! No partitions are set active ------ disk 1 is not star table unless a
partition is set active Press ESE to exit FDISK 按
"ESC"鍵退出FDISK
Create DOS partition or Logical DOS Drive Current fixed disk :1 當前處理對象為主硬碟 Choose one of the following : 選擇以下某一種操作: 1.Create Primary DOS Partition 1.建立主分區
2.Create Extended DOS Petition
2.建立擴展分區 3.Create Logical DOS Drive(s) in the Extended DOS Partition 3.在擴展分區中建立邏輯盤 Enter choice: [1]
Press Esc to return to FDISK Options
Create Primary DOS Partition Current fixed disk drive
: 1 Do you wish to use the maximum available size for a Primary DOS Partition
and make The partition active (Y/N)......................?[N] (要將硬碟所有可
用容量都分配給基本DOS分區,並且設其為活動引導區嗎?) Press Esc to return to FDISK Options
注意:此時程序提示用戶是否將全部硬碟為主分區,如果選擇「Y」後(如果此醒盤小於64G
),硬碟上就只能建有一個主分區了。 如果選擇「N」,屏幕將顯示出硬碟上所有可用空間
。
Create Primary DOS Partition Current
fixed disk drive :1 Total disk space is 8691 Mbytes (1 Mbytes = 1048576 bytes)
Maximum space available for partition is 8691 Mbytes (100%) 大意:當前硬碟(標稱
9.1G)的全部空間為8691MB可建最大分區為8691(100%) 另注: 如果是FAT16模式則只
能為2048G Enter partition size in Mbytes or percent or percent of disk space (%
) to Create a Primary DOS Partition ............................................
...............: [4000] 大意: 為准備建立的分區確定容量 注: 只建一個主分區
時可直接回車, 不使用全部硬碟空間或還將建立擴展分區時在方括弧中更改
數據. Press Esc to return to FDISK Options
由於我們需要建立主分區和擴展分區, 所以在圖中的方括弧中將8691改為4000,將主
分區建為4G,同時程序自動為主分區分配邏輯盤符「C:」然後屏幕將提示主分區已建立並顯
示主分區容量和所佔硬碟全部容量的比例,此後按「ESC」返回FDISK主菜單。此時將提示當
前還沒有可引導的分區(WARNING!No partitions are set active ------ disk 1
is not star table unless a partition is set active 警告!當前沒有
分區設為可引導區---- 除非設定好引導區, 否則硬碟不能啟動 )
5.激活主分區
在硬碟上建立主分區後,在FDISK的主菜單上選擇2(Active Partition ), 如果分區時沒
有活動 DOS 分區,則在啟動時C盤不能自動引導,即使C盤已經格式化。此時,屏幕顯示如圖
Set Active Partition Current fixed disk drive : 1
Partition Status Type Volume Label Mbytes System Usage C: 1 A PRI DOS MS-DOS_6 4000 FAT32 46%
Enter the number of the partition you want to make active ..........
.............[1] (輸入要設置活動的分區號碼) Press Esc to continue
由於當前只有一個分區,故選擇1。分區狀態(Status)從空白變為A狀態,表示分區1為當前
可引導區(Active)。然後用ESC鍵退回FDISK的主菜單。
6.建立擴展分區
在主菜單中選擇"1"(Create DOS partition or Logic DOS Drive).再選擇「2」(Create Extended DOS Partition)建立擴展分區
Create Extended DOS Partition Current fixed disk drive:
1 Partition Status Type Volume Label Mbytes System
Usage C: 1 A PRI DOS 4000 UNKNOWN 46%
Total disk space is 8691 Mbytes (1 Mbytes = 1048576 bytes) Maximum space available for partition is 4691 Mbytes (53%) ( 磁碟衷情容量是 8691MB,可用空間是4691MB ) Enter partition size in Mbytes or percent of disk space (%) to Create an Extended DOS Partition…………………………………………: [4691]
(以MB為單位或者以可用容量的百分比輸入,以創建篇DOS分區) Press Esc to continue
如果不需要為其它操作系統預留分區,那麼建議使用系統給出的全部硬碟空間,此時可以直
接回車建立擴展分區。劃分成切後,展幕顯示如下圖:
Create Extended DOS Partition Current fixed disk drive: 1 Partition Status Type Volume Label Mbytes System Usage C: 1 A PRI DOS 4000 UNKNOWN
46% 2 EXT DOS 4691 UNKNOWN 53% Extended Dos Partition created (擴展分區已創建成) Press Esc to continue
按ESC鍵退出「CREATE Extended DOS Partition "菜單,FDISK自動進入Create logical
Dos Drive(s)in the Extended DOS Partition ( 在擴展DOS分區上建立邏輯驅動器)菜
單。
7.設置邏輯盤數據和容量
Create Logical DOS Drive(s) in Extended DOS Partition No logical drives defined (沒有邏輯驅動器的定義) Total Extended DOS Partition size is 8691 Mbytes (
1 Mbytes =1048576 bytes) Maximum space available for logical drive is 4691 Mbytes (53%) (擴展分區空間共有8691MB,可用於建立邏輯盤的空間為4691MB(53%) Enter logical drive size in Mbytes or percent of disk space (%)...........[4691] (
輸入准備建立的邏輯盤容量......) (在此輸入4691建立第1塊邏輯盤) Press Esc to continue
用戶可以根據硬碟容量和自己的需要來設定邏輯盤數量和各邏輯盤容量。如果我們將擴展分
區設成2塊邏輯盤,我們需要先確定D:盤的容量如2691MB,建立D:盤後,再將其餘(2000MB)全部設成E:盤,此時屏幕將會顯示用戶所建立的邏輯盤數量和容量,然後返回FDISK主菜
單。
8.退出FDISK 程序
邏輯驅動器創建完畢後,屏幕顯示
Create Logical DOS Drive(s) in the Extended DOS Partition Dry Volume Label Mbytes System Usage D:
2691 UNKNOWN 31% E: 2000 UNKNOWN
23% All available space in the Extended DOS Partition Is assigned to logical drives. (所有可用的擴展DOS分區容量已分配給邏輯驅動器) Press Esc to continue
邏輯驅動器已經建立,完成了整個硬碟分區工作。
注意:一定要用ESC鍵退出FDISK程序!否則,程序沒有真正將分區信息表存入硬碟中。
按「ESC」鍵盤退出至屏幕提示用戶必須重新啟動系統,然後才能繼續對所建立的所有
邏輯盤進行格式化。
附:原本已分區的硬碟,可先用FDISK的主菜單的Display partition information(列出當
前硬碟分區情況)來查看分區情況
Ⅶ perl中的defined用來判斷某個變數是否為空求解defined有什麼用
我覺得這些回答都不準確
這個《perl入門》裡面的例子是有問題的,首先你看這一版本來就有一個錯誤。
defined是perl的函數,所以顯然不應該有「$」不然就成了變數了~
然後我們再說這個例子,這個例子根本不可會輸出「No input available!/n」因為系統會自動把你按的回車轉成識別成字元串的內容。
所以這個例子應該改成
#!/usr/bin/perl
chomp($a = <STDIN>);
if(defined($a)){
print "The input was $a";
}else{
print "No input available!\n";
}
用chomp命令把最後一個\n砍掉,這樣,你如果什麼都不輸入,直接回車,你鍵入的才是一個undef,這樣defined函數才有效果,如果這個程序如上,有defined,那麼他的輸出會是
The input was (後面會直接接你當前的目錄,因為沒有回車不會讓你的目錄換行)
如果你把程序的defined函數刪除
#!/usr/bin/perl
chomp($a = <STDIN>);
if($madonna){
print "The input was $a";
}else{
print "No input available!\n";
}
如上,這樣你運行以後,直接按回車,你的輸出會是
No input available!
因為你最後打的回車被chomp砍掉了,所以$a變數就沒有被賦值,也就成了undef,而你又刪除了defined函數,也就是這個$a依然是undef,所以,這時候判斷條件才是false,才會輸出else的內容~本人親測,名譽做保~哇卡卡~想起了作者的一句話,這本書的質量在於譯者~希望對大家有幫助~
Ⅷ dos if 條件判斷
1、判斷驅動器、文件或文件夾是否存在,用
if
exist
語句;
2、判斷某兩個字元串是否相等,用
if
"字元串1"=="字元串2"
語句;
3、判斷某兩個數值是否相等,用
if
數值1
equ
數值2
語句;
4、判斷某個變數是否已經被賦值,用
if
defined
str
語句;
if語句的完整格式是這樣的:if
條件表達式
(語句1)
else
(語句2),它的含義是:如果條件表達式成立,那麼,就執行語句1,否則,將執行語句2。
對於以上四種情形,可以分別使用如下代碼:
1、if
exist
d:\test.txt
(echo
D盤下有test.txt存在)
else
(echo
D盤下不存在test.txt)
2、if
"abc"=="xyz"
(echo
字元串abc等於字元串xyz)
else
(echo
字元串abc不等於字元串xyz)
3、if
1
equ
2
(echo
1等於2)
else
(echo
1不等於2)
4、if
defined
str
(echo
變數str已經被賦值,其值為%str%)
else
(echo
變數str的值為空)
判斷字元串是否相等的時候,if會區分大小寫,比如,單純的if語句會認為字元串abc和字元串Abc不相同,若不想區分大小寫,則需要添加
/i
開關,使用
if
/i
"字元串1"=="字元串2"
的格式;另外,等於符號是連續的"=="而非單獨的"="。
判斷兩個數值之間的大小關系,除了等於用equ之外,還有其他的關系符號,所有適用於if語句的關系符號見下表:
中文含義 關系符 英文解釋
等於 equ equal
大於 gtr greater
than
大於或等於 geq greater
than
or
equal
小於 lss less
than
小於或等於 leq less
than
or
equal
不等於 neq no
equal
if語句還有一個精簡格式:if
條件表達式
語句,它的含義是:如果條件表達式成立,將執行語句,否則,什麼也不做。
Ⅸ DOS命令的if語句
以下代碼是使用 if /? >> C:\help.txt 生成的。
-----------
執行批處理程序中的條件處理。
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
NOT 指定只有條件為 false 的情況下, Windows XP 才
應該執行該命令。
ERRORLEVEL number 如果最後運行的程序返回一個等於或大於
指定數字的退出編碼,指定條件為 true。
string1==string2 如果指定的文字字元串匹配,指定條件為 true。
EXIST filename 如果指定的文件名存在,指定條件為 true。
command 如果符合條件,指定要執行的命令。如果指定的
條件為 FALSE,命令後可跟一個執行 ELSE
關鍵字後的命令的 ELSE 命令。
ELSE 子句必須在 IF 之後出現在同一行上。例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
因為 del 命令需要用一個新行終止,以下子句不會有效:
IF EXIST filename. del filename. ELSE echo filename. missing
由於 ELSE 命令必須與 IF 命令的尾端在同一行上,以下子句也
不會有效:
IF EXIST filename. del filename.
ELSE echo filename. missing
如果都放在同一行上,以下子句有效:
IF EXIST filename. (del filename.) ELSE echo filename. missing
如果命令擴展名被啟用,IF 會如下改變:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
其中,比較運算符可以是:
EQU - 等於
NEQ - 不等於
LSS - 小於
LEQ - 小於或等於
GTR - 大於
GEQ - 大於或等於
及 /I 開關;如果該開關被指定,則說明要進行的字元串比較不分
大小寫。/I 開關可以用於 IF 的 string1==string2 的形式上。這些
比較都是通用的;原因是,如果 string1 和 string2 都是由數字
組成的,字元串會被轉換成數字,進行數字比較。
CMDEXTVERSION 條件的作用跟 ERRORLEVEL 的一樣,除了它
是在跟與命令擴展名有關聯的內部版本號比較。第一個版本
是 1。每次對命令擴展名有相當大的增強時,版本號會增加一個。
命令擴展名被停用時,CMDEXTVERSION 條件不是真的。
如果已定義環境變數,DEFINED 條件的作用跟 EXISTS 的一樣,
除了它取得一個環境變數,返回的結果是 true。
如果沒有名為 ERRORLEVEL 的環境變數,%ERRORLEVEL%
會擴充為 ERROLEVEL 當前數值的字元串表達式;否則,您會得到
其數值。運行程序後,以下語句說明 ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
您也可以使用以上的數字比較:
IF %ERRORLEVEL% LEQ 1 goto okay
如果沒有名為 CMDCMDLINE 的環境變數,%CMDCMDLINE%
將在 CMD.EXE 進行任何處理前擴充為傳遞給 CMD.EXE 的原始
命令行;否則,您會得到其數值。
如果沒有名為 CMDEXTVERSION 的環境變數,
%CMDEXTVERSION% 會擴充為 CMDEXTVERSION 當前數值的
字串符表達式;否則,您會得到其數值。
---------------
代碼結束。
針對樓主問題說明:
你說的不可能實現。因為DOS不可能提供給你判斷正在運行的Dos命令的方法。如果一定要完成這樣的功能,也只能做一個程序,自己來檢測。
Ⅹ DOS命令的具體內容
這個不是DOS,是bios設置,主板說明書一般帶的有說明的