⑴ 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是鍵盤緩沖工具。
總之,利用批處理命令和批處理增強工具,我們可以編出許多強大的批處理文件來。
⑵ 批處理文件執行DOS命令
@echooff&
:start
setsum=
setchoose=
cls
set/psum=請輸入欄位:
if"!sum!"==""(gotostart)
echo欄位為:!sum![Y繼續/N重新輸入]
set/pchoose=請選擇:
if"!choose!"==""(gotostart)
if/i"!choose!"=="Y"(gotostart-next)
if/i"!choose!"=="N"(gotostart)
gotostart
:start-next
cls
"H:家譜轉XML文件夾!sum! 001index.xml""G:2013家譜2013家譜成品添加好水印家譜成品!sum! 001"
"H:家譜轉XML文件夾!sum! 002index.xml""G:2013家譜2013家譜成品添加好水印家譜成品!sum! 002"
"H:家譜轉XML文件夾!sum! 003index.xml""G:2013家譜2013家譜成品添加好水印家譜成品!sum! 003"
"H:家譜轉XML文件夾!sum! 004index.xml""G:2013家譜2013家譜成品添加好水印家譜成品!sum! 004"
"H:家譜轉XML文件夾!sum! 005index.xml""G:2013家譜2013家譜成品添加好水印家譜成品!sum! 005"
"H:家譜轉XML文件夾!sum! 006index.xml""G:2013家譜2013家譜成品添加好水印家譜成品!sum! 006"
echo.&echo已完成復制...&pause
exit
::復制代碼到文本中,保存為:.bat格式批處理文件運行即可
::中國批處理腳本聯盟
⑶ dos命令怎麼使用bat批處理
把可執行文件編寫到BAT文件中去即可,如果沒有這個文件就新建一個
可執行文件包括EXE和COM這2種後綴格式
DOS系統下開機會自動執行AUTOEXEC.BAT這個批處理文件
其餘的文件可以開機後執行
⑷ 如何用批處理文件執行一個DOS命令
cmd /k "mstsc /v 192.168.0.1"
192.168.0.1為你連接的IP
⑸ 用批處理執行dos命令
暈死你應該是剛接觸批處理吧如果要運行D盤文件下面的一個程序的話直接start d:\文件名\程序.exe就可以了比如要復制也可以直接 加路文件路徑而不用cd文件夾然後命令
@echo off
d:\cal\fds5.exe run.fds
exit
⑹ 批處理 dos命令
假設你的目錄名為aa,目標目錄為G:\bb,要移動文件的擴展名為*.chm
@echo
off
dir
/s
/b
*.chm
>a.txt
for
/f
%%a
in
(a.txt)
do
%%a
G:\bb\
pause
注意這個P,要放在aa目錄下執行
⑺ 怎麼用bat執行dos命令
shutdown
-c
你輸入哥的時候命令里就輸入這個了,你編輯這個bat就可以看到裡面的內容了。
⑻ 如何使用批處理命令啟動DOS命令
1,打開記事本,編輯保存這條命令
2,講記事本abc.txt重命名為 abc.bat 或者 abc.cmd都可以
3,重啟後試下雙擊能否運行。
⑼ 怎樣在dos中用批處理命令自動運行程序
DOS啟動時載入autoexec.bat批處理文件,可以在這個文件裡面入需要運行的程序,命令格式:路徑\文件名\參數。要是需要在啟動以後載入批處理命令的話,需要做*.bat文件。可以用icetommoy
的方法,也可以用edit這種文檔處理文件編寫。
⑽ 我做了一個批處理文件,想裡面有多個DOS命令,但不知道怎麼可以讓它們依次執行
順序寫就會順序執行。當然,取決於你用的是什麼命令。你最好寫清楚你要依次執行什麼。
arp -d命令應該還有一個參數。你是不是先要解除物理地址的綁定,然後再重新綁上?
那麼你就把兩個命令順序寫到一個文本文件里(分成兩行哦,命令不能寫錯),然後保存成myarp.cmd就可以了。
例如:
@echo off
arp -d 192.168.1.1
arp -s 192.168.1.1 00-38-22-45-0d-8f