『壹』 批處理程序的簡介
批處理程序的構成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執行,直到最後一行結束,它運行的平台是DOS。批處理有一個很鮮明的特點:使用方便、靈活,自動化程度高,但功能較為薄弱。我不想讓自己寫的教程枯燥無味,因為牽纏到代碼(批處理的內容算是代碼吧?)的問題本來就是枯燥的,很少有人能面對滿屏幕的代碼而靜下心來。所以我會用很多簡單實用的例子讓讀這篇教程的朋友去體會批處理的那四射的魅力,感受它那古靈精怪的性格,不知不覺中愛上批處理(暈,怎麼又是愛?到底批處理和愛有什麼關系?答案:沒有!)。再說句「閑話」:要學好批處理,DOS基礎一定要牢!當然腦子靈活也是很重要的一方面。
批處理的功能完全取決於你使用的命令,而批處理命令又分別內部命令和外部命令以及一些第三方工具。
最普遍使用的批處理文件是AUTOEXEC.BAT文件,無論什麼時候啟動或重啟動系統,DOS都將自動執行它。此文件允許你做如下事情:輸入當前日期、設置命令路徑與系統提示符及裝載程序,而不需分別鍵入每個命令。AUTOEXEC.BAT文件必須位於啟動DOS盤的根目錄下。
所有批處理以.BAT或者.CMD作為擴展名,不過當你運行該文件時並不需要在命令行鍵入擴展名。要執行批處理文件,只需簡單地在系統提示符下鍵入其文件名即可,DOS將按順序執行批處理文件所包含的命令。
舉幾個例子,比如,當你新裝一台電腦的時候需要用到DOS命令,需要用鍵入命令的方式安裝系統;如果你能把所有的命令都串起來,讓它自動執行,那麼安裝工作就會變得很自動化。這種串起來的命令就是批處理。像這樣,把許多命令集合到一個文件里,完成自動化任務的可執行文件就是批處理文件。批處理文件一般以BAT為擴展名,我們再舉個例子來說明批處理文件的建立和在Windows環境下的用途。比如,我們要在某文件夾下建立8個文件夾,它們的名字分別是MULU1、MULU2……MULU8等,我們可以用「記事本」在該文件夾下先建立一個文件MAKE.BAT(注意:擴展名要是BAT,不能是TXT),然後編輯這個文件,其內容是諸如:
MD MULU1
MD MULU2
……
MD MULU8
等8行內容,編輯完成存檔後,只要我們雙擊建立好的MAKE.BAT文件,8個文件夾就會自動為我們建立好。
簡明批處理教程
ajumail 發表於 2005-03-11
最近對於批處理技術的探討比較熱,也有不少好的批處理程序發布,但是如果沒有一定的相關知識恐怕不容易看懂和理解這些批處理文件,也就更談不上自己動手編寫了,古語雲:「授人以魚,不如授人以漁。」因為網上好像並沒有一個比較完整的教材,所以抽一點時間寫了這篇<<簡明批處理教程>>給新手朋友們.也獻給所有為實現網路的自由與共享而努力的朋友們.
批處理文件是無格式的文本文件,它包含一條或多條命令。它的文件擴展名為 .bat 或 .cmd。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統就會調用Cmd.exe按照該文件中各個命令出現的順序來逐個運行它們。使用批處理文件(也被稱為批處理程序或腳本),可以簡化日常或重復性任務。當然我們的這個版本的主要內容是介紹批處理在入侵中一些實際運用,例如我們後面要提到的用批處理文件來給系統打補丁、批量植入後門程序等。下面就開始我們批處理學習之旅吧。
『貳』 如何做批處理
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"IntelZeroConfig"="\"C:\\Program Files\\Intel\\Wireless\\bin\\ZCfgSvc.exe\""
這是一個將ZCfgSvc.exe加入開機啟動的注冊表導入腳本,把它保存成 ***.reg即可;
我們導入注冊表的腳本一般就是這樣的,方括弧中是注冊表位置,然後換一行是參數名及其值;
如果3個程序在不同位置,就換行再寫一個就可以了
『叄』 bat批量處理腳本
常見批處理案例簡單的說,批處理的作用就是自動的連續執行多條命令。
這里先講一個最簡單的應用:在啟動wps軟體時,每次都必須執行( >前面內容表示DOS提示符):
C:\>cd wps
C:\WPS>spdos
C:\WPS>py
C:\WPS>wbx
C:\WPS>wps
如果每次用WPS之前都這樣執行一遍,您是不是覺得很麻煩呢?
好了,用批處理,就可以實現將這些麻煩的操作簡單化,首先我們編寫一個runwps.bat批處理文件,內容如下:
@echo off
c:
cd\wps
spdos
py
wbx
wps
cd\
以後,每次進入wps,只需要運行runwps這個批處理文件即可。
『肆』 批處理和腳本有什麼區別
批處理
也屬於腳本。腳本的含義比較大,批處理只是其中的一種語言,腳本的語言很多。
『伍』 linux shell腳本 批處理
新建一個文件,名字為test(自己定義的名字)
nano test.sh在裡面編寫腳本
程序必須以下面的行開始(必須方在文件的第一行):
#!/bin/sh
符號#!用來告訴系統它後面的參數是用來執行該文件的程序。在這個例子中使用/bin/sh來執行程序。
(能寫一些shell普通命令,命令用分號隔開)
例子:
#! /bin/bash
# shutdown pc
sudo
shutdown +1執行方法
(1)在控制台輸入命令執行:
sh
test.sh
(2)先給腳本可執行許可權,雙擊執行:
右鍵此文件,選擇屬性->許可權,最下方會有一個「允許以程序執行文件」,將這一項勾選,就可以了。
或在命令行下附予許可權:
chmod 777
test.sh 或: chmod +x test.sh
『陸』 批處理詳解
使用批處理文件(也被稱為批處理程序或腳本),可以簡化日常或重復性任務。批處理文件是無格式的文本文件,它包含一條或多條命令,其文件擴展名為 .bat 或 .cmd。在命令提示符下鍵入批處理文件的名稱,Cmd.exe 就會按照該文件中各個命令出現的順序來逐個運行它們。
可以在批處理文件中包含任何命令。某些命令,比如 for、goto 和 if 命令等,它們允許您對批處理文件中的命令作條件處理。例如,if 命令根據條件語句的結果來執行命令。其他命令允許您控制輸入輸出以及調用其他批處理文件。
如果沒有錯誤,大多數應用程序會返回標准錯誤代碼 0;如果出錯,則返回 1(或更大的值)。請參考應用程序幫助文檔以確定特定錯誤代碼的含義。
有關批處理文件操作的詳細信息,請參閱以下主題:
有關批處理文件操作的詳細信息,請參閱以下主題:
使用批處理參數
使用篩選器
使用命令重定向操作符
有關可在批處理文件中使用的命令的詳細信息,請單擊以下命令:
Call
Choice
Echo
Endlocal
For
Goto
If
Pause
Rem
Setlocal
Shift
使用批處理參數
使用批處理參數可以在批處理文件內的任何地方使用批處理參數,以提取有關環境設置的信息。
Cmd.exe 提供批處理參數擴展變數(%0 到 %9)。當在批處理文件中使用批處理參數時,%0 將由批處理文件名替換,而 %1 到 %9 將由在命令行鍵入的相應參數替換。要訪問超出 %9 的參數,必須使用 shift 命令。有關 shift 命令的詳細信息,請參閱 Shift。%* 批處理參數是傳遞到批處理文件中的所有參數(不包括 %0)的通配符引用。
例如,要將 Folder1 中的內容復制到 Folder2,其中 %1 和 %2 將分別由值 Folder1 和 Folder2 替換,請在批處理文件 Mybatch.bat 中鍵入如下內容:
x %1\*.* %2
要運行該文件,請鍵入:
mybatch.bat C:\folder1 D:\folder2
這與在批處理文件中鍵入如下內容是等效的:
x C:\folder1 \*.* D:\folder2
也可以在批處理參數中使用編輯符。編輯符使用當前的驅動器和目錄信息將批處理參數作為部分或完整的文件或目錄名進行擴展。要使用編輯符,請鍵入百分號 (%) 字元,後面是波形符號 (~) 字元,然後鍵入合適的編輯符(即 %~modifier)。
下表列出了可在擴展中使用的編輯符。
編輯符 描述
%~1 擴展 %1 並刪除任何外圍引號 ("")。
%~f1 將 %1 擴展到完全合格的路徑名。
%~d1 將 %1 擴展到驅動器盤符。
%~p1 將 %1 擴展到路徑。
%~n1 將 %1 擴展到文件名。
%~x1 將 %1 擴展到文件擴展名。
%~s1 擴展的路徑僅包含短名稱。
%~a1 將 %1 擴展到文件屬性。
%~t1 將 %1 擴展到文件日期/時間。
%~z1 將 %1 擴展到文件大小。
%~$PATH:1 搜索 PATH 環境變數中列出的目錄,並將 %1 擴展到第一個找到的目錄的完全合格名稱。如果沒有定義環境變數名稱,或沒有找到文件,則此編輯符擴展成空字元串。
下表列出了可用於獲取復合結果的編輯符和限定符的可能組合情況:
編輯符 描述
%~dp1 將 %1 擴展到驅動器盤符和路徑。
%~nx1 將 %1 擴展到文件名和擴展名。
%~dp$PATH:1 在 PATH 環境變數列出的目錄中搜索 %1,並擴展到第一個找到的目錄的驅動器盤符和路徑。
%~ftza1 將 %1 擴展到類似 dir 的輸出行。
注意
在上面的例子中,可以使用其他批處理參數值替換 %1 和 PATH。
%* 編輯符是唯一可代表在批處理文件中傳遞的所有參數的編輯符。不能將該編輯符與 %~ 編輯符組合使用。%~ 語法必須通過有效的參數值來終止。
不能以與使用環境變數相同的方式使用批處理參數。不能搜索和替換值,或檢查子字元串。然而,可以將參數分配給環境變數,然後對該環境變數進行操作。
使用篩選器
使用篩選器篩選器命令是與重新定向管道符 (|) 命令聯合使用的命令,它包含在可讀取命令的輸入、可轉換輸入並寫入輸出的命令里。篩選器命令可以幫助您排序、查看和選擇部分命令輸出。
篩選器命令可以劃分、重排以及提取通過的部分信息操作。下表列出 Windows Server 2003 家族中可用的篩選器命令。
命令 描述
more 在一個命令提示符窗口中每次顯示一個文件的內容或一個命令的輸出。
find 在文件和命令輸出中搜索您所指定的字元。
sort 按字母順序排列文件和命令輸出。
若要將輸入從文件發送到篩選器命令,請使用小於號 (<)。如果要使篩選器命令從其他命令獲得輸入,請使用管道符 (|)。
使用 more 命令
more 命令在一個命令提示符窗口中每次顯示一個文件的內容或一個命令的輸出。例如,要在一個命令提示窗口中每次顯示一個名為 List.txt 的文件的內容,請鍵入:
more < list.txt
出現一個包含信息的命令提示符窗口,然後在命令提示符窗口底部出現 -- More -- 提示。要繼續前進到下一個命令提示符窗口,請在鍵盤上按任意鍵(除 Pause 之外)。要停止命令且不查看詳細信息,請按 Ctrl+C。
使用產生多個輸出命令提示符窗口的命令時,可以使用 more 命令。例如,假定要查看硬碟上的目錄樹。如果"命令提示符"窗口不能將目錄在一屏內全部顯示出來,請使用帶有管道符 (|) 和 more 命令的 tree 命令,如下例所示:
tree c:\ | more
出現由 tree 命令產生的第一個輸出命令提示符窗口,後面跟著 -- More -- 提示。輸出暫停,直到用戶按鍵盤上的任意鍵為止(Pause 除外)。
使用 find 命令
find 命令在文件中搜索指定的字元串或文本。Cmd.exe 顯示與在命令提示符窗口中指定的字元串或文本相匹配的所有行。可以把 find 命令用作篩選器命令,也可以用作標准命令。有關如何將 find 用作標准命令的詳細信息,請參閱 Find。
若要將 find 命令用作篩選器命令,必須包含小於號 (<) 和要搜索的字元串或文本。默認情況下,find 搜索將區分大小寫。例如,下面的命令查找文件 Trade.txt 中所有的"Pacific Rim"字元串:
find "Pacific Rim" < trade.txt
輸出不包括出現"pacific rim"的任何字元串。輸出只包括所有首字母大寫的"Pacific Rim"字元串。
若 要保存 find 命令的輸出而不是在命令提示符窗口顯示輸出,請鍵入大於號 (>) 和要存儲輸出內容的文件的名稱。例如,下面的命令查找文件 Trade.txt 中存在的"Pacific Rim"字元串,並將結果保存在 Nwtrade.txt 文件中:
find "Pacific Rim" < trade.txt > nwtrade.txt
使用 sort 命令
sort 命令按字母順序排列文本文件或命令的輸出。例如,下列命令對名為 List.txt 的文件的內容進行排序,並在命令提示符窗口中顯示排序結果:
sort < list.txt
在 此示例中,sort 命令對 List.txt 文件的行按字母列表進行排序並顯示結果,但不更改文件。若要保存 sort 命令的輸出而不是顯示輸出,請鍵入大於號 (>) 和文件名。例如,以下命令對 List.txt 文件的行按字母順序排序,並將結果存儲到 Alphlist.txt 文件中:
sort < list.txt > alphlist.txt
若要對命令輸出進行排序,請鍵入該命令,鍵入管道符 (|),再鍵入 sort (即,Command | sort)。例如,下列命令對包括字元串"Jones"(即,find 命令輸出)的行按字母順序進行排序:
find "Jones" maillst.txt | sort
使用命令重定向操作符
使用命令重定向操作符可以使用重定向操作符將命令輸入和輸出數據流從默認位置重定向到不同的位置。輸入或輸出數據流的位置即為句柄。
下表將列出可用的句柄。
句柄 句柄的數字代號 描述
STDIN 0 鍵盤輸入
STDOUT 1 輸出到命令提示符窗口
STDERR 2 錯誤輸出到命令提示符窗口
UNDEFINED 3-9 這些句柄由應用程序單獨定義,並且是各個工具特定的。
數 字 0 到 9 代表前 10 個句柄。可以使用命令 Cmd.exe 運行程序並將該程序前 10 個句柄中的任何一個重定向。要指定想使用的句柄,可在重定向操作符前面鍵入該句柄的數字。如果未定義句柄,則默認的 < 重定向輸入操作符是 0,而默認的 > 重定向輸出操作符是 1。鍵入 > 或 < 操作符之後,必須指定要讀取或寫入數據的位置。可以指定文件名或另一個現有的句柄。
要指定重定向到現有句柄,請使用與 (&) 字元,後面接要重定向的句柄號(例如 &句柄#)。例如,下面的命令可以將句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):
2>&1
下表列出了可用於將輸入和輸出數據流進行重定向的操作符。
重定向操作符 描述
> 將命令輸出寫入到文件或設備(例如列印機)中,而不是寫在命令提示符窗口或句柄中。
< 從文件中而不是從鍵盤或句柄中讀入命令輸入。
>> 將命令輸出添加到文件末尾而不刪除文件中的信息。
>& 將一個句柄的輸出寫入到另一個句柄的輸入中。
<& 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。
| 從一個命令中讀取輸出並將其寫入另一個命令的輸入中。也稱作管道。
默認情況下,可以從鍵盤將命令輸入(即 STDIN 句柄)發送到 Cmd.exe,然後由 Cmd.exe 將命令輸出(即 STDOUT 句柄)發送到命令提示符窗口。
重定向輸入 (<)
要將鍵盤輸入重定向到文件或設備,請使用 < 操作符。例如,要從 File.txt 獲取 sort 命令的輸入,請鍵入:
sort<file.txt
File.txt 的內容將以字母順序列表的方式顯示在命令提示符窗口中。
< 操作符可以打開具有隻讀訪問的指定文件名。所以,不能使用該操作符向文件中寫入信息。例如,如果以 <&2 啟動程序,則所有試圖讀取句柄 0 的操作都將失敗,因為句柄 2 最初是以只寫訪問打開的。
注意
0 是 < 重定向輸入操作符的默認句柄。
重定向輸出 (>)
幾乎所有的命令都將輸出發送到命令提示符窗口。即使將輸出發送到驅動器或列印機的命令也會在命令提示符窗口顯示消息和提示。
要將輸出從命令提示符窗口重定向到文件或設備,請使用 > 操作符。可以在許多命令中使用該操作符。例如,要將 dir 輸出重定向到 Dirlist.txt,請鍵入:
dir>dirlist.txt
如果 Dirlist.txt 不存在,Cmd.exe 將創建該文件。如果 Dirlist.txt 存在,Cmd.exe 將使用 dir 命令的輸出替換文件中的信息。
要運行 netsh routing mp 命令,然後將輸出發送到 Route.cfg,請鍵入:
netsh routing mp>c:\route.cfg
> 操作符可以打開具有隻寫訪問屬性的指定文件。所以,不能使用該操作符讀取文件。例如,如果使用重定向 >&0 啟動程序,則所有試圖寫入句柄 1 的操作都將失敗,因為句柄 0 最初是以只讀訪問打開的。
注意
1 是 > 重定向輸出操作符的默認句柄。
復制句柄
重定向操作符 & 可以將輸出或輸入從一個指定句柄復制到另一個指定的句柄。例如,要將 dir 輸出發送到 File.txt 並將錯誤輸出發送到 File.txt,請鍵入:
dir>c:\file.txt 2>&1
復制句柄時,可以復制該句柄原狀態的所有特性。例如,如果一個句柄具有隻寫訪問的屬性,則該句柄的所有副本都具有隻寫訪問屬性。不能將一個具有隻讀訪問屬性的句柄復制到另一個具有隻寫訪問屬性的句柄。
使用 & 操作符重定向輸入和副本
要 將重定向輸入操作符 (<) 與復制操作符 (&) 一起使用,指定的文件必須已經存在。如果輸入文件存在,Cmd.exe 將以只讀方式打開該文件,然後將文件中包含的字元作為輸入發送到此命令(如同從鍵盤輸入一樣)。如果指定了句柄,Cmd.exe 將指定的句柄復制到系統現有的句柄中。
例如,要以句柄 0 輸入讀取(即 STDIN)的方式打開 File.txt,請鍵入:
<file.txt
要打開 File.txt,並在內容排序後將輸出發送到命令提示符窗口(即 STDOUT),請鍵入:
sort<file.txt
要查找 File.txt,然後將句柄 1(即 STDOUT)和句柄 2(即 STDERR)重定向到 Search.txt,請鍵入:
findfile file.txt>search.txt 2<&1
要以句柄 0 輸入讀取(即 STDIN)的方式復制用戶定義句柄 3,請鍵入:
<&3
使用 & 操作符重定向輸出和復制
如果將輸出重定向到文件且指定了現有的文件名,Cmd.exe 將以只寫方式打開文件並覆蓋該文件內容。如果指定了句柄,Cmd.exe 將文件復制到現有句柄中。
要將用戶定義句柄 3 復制到句柄 1,請鍵入:
>&3
要將包括句柄 2(即 STDERR)的所有輸出從 ipconfig 命令重定向到句柄 1(即 STDOUT),然後將輸出重定向到 Output.log,請鍵入:
ipconfig.exe>>output.log 2>&1
使用 >> 重定向操作符追加輸出
要從命令中將輸出添加到文件末尾而不丟失文件中已存在的任何信息,請使用兩個連續的大於號(即 >>)。例如,下面的命令可以將由 dir 命令生成的目錄列表追加到 Dirlist.txt 文件:
dir>>dirlist.txt
要將 netstat 命令的輸出追加到 Tcpinfo.txt 的末尾,請鍵入:
netstat>>tcpinfo.txt
使用管道操作符 (|)
管道操作符 (|) 可以提取一個命令的輸出(默認情況下是 STDOUT),然後將其導入另一個命令的輸入中(默認情況下是 STDIN)。例如,下面的命令將對目錄分類:
dir | sort
在本例中,將同時啟動兩個命令,但隨後 sort 命令會暫停,直到它接收到 dir 命令的輸出為止。sort 命令使用 dir 命令的輸出作為輸入,然後將輸出發送到句柄 1(即 STDOUT)。
合並帶重定向操作符的命令
可以通過合並帶有其他命令和文件名的篩選器命令創建自定義命令。例如,可以使用以下命令存儲包含"LOG"字元串的文件名:
dir /b | find "LOG" > loglist.txt
dir 命令的輸出通過 find 篩選器命令發送。包含字元串 "LOG" 的文件名作為文件名列表(例如,NetshConfig.log、Logdat.svd 和 Mylog.bat)存儲在文件 Loglist.txt 中。
要在相同命令中使用多個篩選器,請使用管道 (|) 分隔篩選器。例如,下面的命令將搜索 C 盤上的每個目錄以查找包含 "LOG" 字元串的文件名,並且在命令提示符窗口中每次顯示一屏:
dir c:\ /s /b | find "LOG" | more
利 用管道 (|) 可以將 Cmd.exe 導向為通過 find 篩選器命令發送 dir 命令輸出。find 命令只選擇包含字元串 "LOG" 的文件名。more 命令可以顯示由 find 命令選擇的文件名(在命令提示符窗口中每次顯示一屏)。有關篩選器命令的詳細信息,請參閱使用篩選器。
Rss Comment Track Back
Quote Err0r Posted at 2004-12-10 2:43:32 AM
Call
Call從一個批處理程序調用另一個批處理程序,而不終止父批處理程序。Call 命令接受用作調用目標的標簽。如果在腳本或批處理文件外使用 call 命令,則其不會在命令行起作用。
語法
call [[Drive:][Path] FileName [BatchParameters]] [:Label [Arguments]]
參數
[Drive:][Path] FileName
指定要調用的批處理程序的位置和名稱。FileName 參數必須有 .bat 或 .cmd 擴展名。
BatchParameters
指定批處理程序所需的任何命令行信息,包括命令行選項、文件名、批處理參數(即從 %0 到 %9)或變數(例如,%baud%)。
:Label
指 定批處理程序要跳轉到的標簽。使用帶有該參數的 call 命令可以創建新的批處理文件上下文,並將控制權交給指定標簽後的語句。當首次遇到該批處理文件的末尾時(在跳轉到標簽後),控制權將交還給 call 語句後的語句。第二次遇到批處理文件的末尾時,將退出批處理腳本。有關允許您從批處理腳本返回的 goto :eof 擴展名的說明,請參閱"相關主題"。
Arguments
對於以 :Label 開始的批處理程序,指定要傳遞給其新實例的命令行信息,包括命令行選項、文件名、批處理參數(即從 %1 到 %9)或者變數(例如,%baud%)。
/?
在命令提示符下顯示幫助。
注釋
使用批處理參數
批處理參數可包含可以傳遞給批處理程序的任何信息,包括命令行選項、文件名、批處理參數(即從 %1 到 %9)或者變數(例如,%baud%)。有關批處理參數的詳細信息,請參閱"相關主題"。
使用管道和重定向符號
不要在 call 命令中使用管道和重定向符號。
發出遞歸調用
可以創建調用自身的批處理程序,但是,必須提供退出條件。否則,父和子批處理程序可以無限循環。
使用命令擴展
在啟用命令擴展的情況下(即默認情況下),call 將接受 Label 參數作為調用目標。正確語法如下:
call :Label Arguments
有關啟用和禁用命令擴展的詳細信息,請參閱"相關主題"中的 cmd。
示例
要從其他批處理程序運行 Checknew.bat 程序,請在父批處理程序中鍵入以下命令:
call checknew
如果父批處理程序接受兩個批處理參數並且希望將這些參數傳遞給 Checknew.bat,則可以在父批處理程序中使用以下命令:
call checknew %1 %2
格式化圖例
格式 含義
斜體 用戶必須提供的信息
粗體 用戶必須准確鍵入的要顯示的元素
省略號 (...) 在命令行中可多次重復的參數
中括弧 ([]) 可選項
大括弧 ({});選項用豎線 (|) 分隔。例如:{even|odd} 用戶必須從選項集合中選擇一個
Courier 字體 代碼或程序輸出
Quote Err0r Posted at 2004-12-10 2:44:36 AM
Choice
在批處理程序中,通過顯示提示信息並暫停批處理程序,用戶可以從一組用戶選項鍵中進行選擇。
語法
choice [/c [Choices]] [/n] [/cs] [/t Timeout /d Choice] [/m Text]
參數
/c Choices
指定用戶選項鍵。顯示時,選項鍵由逗號分隔,出現在括弧([])中,後面跟著問號。如果未指定 /c Choices,默認情況下,choice 將顯示 [Y, N]。
/n
隱藏用戶選項鍵。如果使用此命令行選項,將在提示符之前出現消息正文,選項仍處於啟用狀態。
/cs
指定用戶選項鍵必須區分大小寫。默認情況下,用戶選項鍵不區分大小寫。
/t Timeout /d Choice
指定在默認為指定鍵之前 choice 暫停指定的秒數。下表將描述 /t 命令行選項的值。 值 描述
Timeout 要暫停的秒數。可接受的值介於 0 到 9999 之間。如果使用 0,choice 在默認為指定鍵之前不暫停。
/d Choice 指定 Timeout 秒數之後的默認選擇。您使用的字元必須在由/c Choices 指定的選擇集中。如果使用此命令行選項,還必須同時指定 /t Timeout。
/m Text
指定要在提示符之前顯示的文字。如果您包括命令行選項字元(即 /)作為提示符之前的一部分文字,必須用引號將該文字引起來。如果未指定任何文字,choice 將只顯示提示符。
/?
在命令提示符下顯示幫助。
注釋
ERRORVALUE 環境變數被設置為用戶從選擇列表中選擇的鍵的索引。您指派的第一個鍵將返回值 1,第二個將返回值 2,第三個將返回值 3,依此類推。如果用戶按下一個不在您指派的鍵中間的鍵,Choice.exe 將發出警告聲(即,它向控制台發送一個 BEL 或 07h 字元)。如果 Choice.exe 檢測到錯誤情況,它就會返回錯誤值 255。如果用戶按 Ctrl+Break 或 Ctrl+C,Choice.exe 就會返回錯誤值 0。當您在批處理程序中使用錯誤值參數時,請將它們以降序列出。
示例
請在批處理文件中鍵入下列語法:
choice /c ync
運行 Choice.exe 時出現下列語句:
[Y,N,C]?
請在批處理文件中鍵入下列語法:
choice /c ync /n /m Yes, No or Continue?
運行 Choice.exe 時出現下列語句:
Yes, No, or Continue?
按如下方式將文字添加到語法中:
choice /c ync /m Yes, No, or Continue
運行 Choice.exe 時出現下列語句:
Yes, No, or Continue [Y,N,C]?
/t 命令行選項將設置一個時間限制(在該限制內用戶必須響應),並指定當用戶在該時間限制內沒有作出響應時將顯示的值。要將時間限制設置為五秒並指定 N 作為默認值,請在批處理程序中鍵入下列命令行:
choice /c ync /t 5 /d n
當批處理文件啟動 Choice.exe 時,將出現下列消息:
[Y,N,C]?
如果用戶未能在五秒鍾內按下一個鍵,Choice.exe 將選擇 N 並返回錯誤值 2。否則,Choice 將返回與用戶所選對應的值。
格式化圖例
格式 含義
斜體 用戶必須提供的信息
粗體 用戶必須准確鍵入的要顯示的元素
省略號 (...) 在命令行中可多次重復的參數
中括弧 ([]) 可選項
大括弧 ({});選項用豎線 (|) 分隔。例如:{even|odd} 用戶必須從選項集合中選擇一個
Courier 字體 代碼或程序輸出
相關主題
Quote Err0r Posted at 2004-12-10 2:45:16 AM
Echo
打開或關閉命令回顯功能,或顯示消息。如果沒有使用任何參數,echo 命令將顯示當前回顯設置。
語法
echo [{on | off}] [Message]
參數
{on|off}
指定是否打開命令回顯功能。
消息
指定要在屏幕上顯示的文本。
/?
在命令提示符下顯示幫助。
注釋
當回顯關閉時可以使用 echo Message 命令。若要顯示幾行長的消息而不顯示其他命令,可以在批處理程序的 echo off 命令後包含幾個 echo Message 命令。
如果使用 echo off,屏幕上就不會出現命令提示符。要顯示命令提示符,請鍵入 echo on。
要避免回顯某行,請在批處理程序中的命令前面插入 at 符號 (@)。
要在屏幕上回顯空白行,請鍵入:
echo
當使用 echo 命令時,要顯示管道 (|) 或重定向字元(< 或 >),請在管道 (|) 或重定向字元的前面使用脫字元,例如,^>、^< 或 ^|。如果需要使用脫字元 (^),請鍵入兩個脫字元 (^^)。
示例
以下示例顯示的批處理程序包含前後各有一個空行的三行消息:
echo off
echo.
echo This batch program
echo formats and checks
echo new disks
echo.
如果要關閉回顯並且不需要回顯 echo 命令,請在命令之前鍵入 at 符號 (@),如下所示:
@echo off
在相同命令行上可以使用 if 和 echo 命令。例如:
if exist *.rpt echo The report has arrived.
格式化圖例
格式 含義
斜體 用戶必須提供的信息
粗體 用戶必須准確鍵入的要顯示的元素
省略號 (...) 在命令行中可多次重復的參數
中括弧 ([]) 可選項
大括弧 ({});選項用豎線 (|) 分隔。例如:{even|odd} 用戶必須從選項集合中選擇一個
Courier 字體 代碼或程序輸出
相關主題
Quote Err0r Posted at 2004-12-10 2:45:50 AM
Endlocal
結束批處理文件中環境更改的本地化,將環境變數還原為匹配 setlocal 命令前的值。
語法
endlocal
參數
/?
在命令提示符下顯示幫助。
注釋
必須在腳本或批處理文件中使用 endlocal。如果在腳本或批處理文件之外使用 endlocal,則該命令無效。
在批處理文件的結尾處有一個隱含的 endlocal 命令。
通過啟用命令擴展名(即,默認值),endlocal 命令將命令擴展名的狀態(即,已啟用或已禁用)還原到執行匹配 setlocal 命令之前的狀態。有關啟用和禁用命令擴展的詳細信息,請參閱"相關主題"中的 cmd。
示例
在批處理文件中可以本地化環境變數。例如:
@echo off
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out
格式化圖例
格式 含義
斜體 用戶必須提供的信息
粗體 用戶必須准確鍵入的要顯示的元素
省略號 (...) 在命令行中可多次重復的參數
中括弧 ([]) 可選項
大括弧 ({});選項用豎線 (|) 分隔。例如:{even|odd} 用戶必須從選項集合中選擇一個
Courier 字體 代碼或程序輸出
相關主題
Quote Err0r Posted at 2004-12-10 2:46:16 AM
For
對一組文件中的每個文件運行指定的命令。
語法
for {%Variable | %%Variable} in (Set) do Command [CommandLineOptions]
參數
{%Variable | %%Variable}
必需。代表可替換的參數。使用 %Variable 通過命令提示符執行 for 命令。使用 %%Variable 在批處理文件中執行 for 命令。變數要區分大小寫,而且必須用字母值表示,例如 %A、%B 或 %C。
(Set)
必需。指定要用指定命令處理的一個或多個文件、目錄、數值范圍以及文本字元串。需要括弧。
Command
必需。指定要對包括在指定的 (Set) 中每個文件、目錄、數值范圍或文本字元串所執行的命令。
CommandLineOptions
指定要與所指定命令一起使用的任何命令行選項。
/?
在命令提示符下顯示幫助。
注釋
使用 for
可以在批處理文件中或直接從命令提示符使用 for 命令。
使用批處理參數
下列屬性適用於 for 命令:
for 命令用 Set 中指定的每個文本字元串替換 %Variable 或 %%Variable,直到 Command 處理完所有文件為止。
For Variable 名是區分大小寫、全局的,並且每次活動的總共不超過 52 個。
要避免混淆批處理參數 %0 到 %9,可對 Variable 使用除數字 0 到 9 之外的任何字元。對於簡單的批處理文件,單個字元即可生效,例如 %%f。
在復雜的批處理文件中可以使用多個 Variable 值來區分不同的可替換變數。
指定一組文件
Set 參數可以代表單個或多個文件組。可以使用通配符(即 * 和 ?)指定文件組。以下為有效文件組:
(*.doc)
(*.doc *.txt *.me)
(jan*.doc jan*.rpt feb*.doc feb*.rpt)
(ar??1991.* ap??1991.*)
在使用 for 命令時,Set 中的第一個值代替 %Variable 或 %%Variable,然後由指定的命令處理該值。這會持續到處理完與 Set 值相對應的所有文件(或文件組)為止。
使用 in 和 do
『柒』 求批量文件處理腳本
手機編寫的,沒有測試。
@echo off & title 歸檔文件 By 依夢琴瑤
for /d %%a in (*) do (
call :DoNow "%%~a"
)
pause
call :Donate
exit
:DoNow
set "Var=%~1"
move "%Var:~,3%*.*" "%~1\"
if not exist "%~1\*" rd /s /q "%~1"
goto :eof
:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
『捌』 批處理的介紹
批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,通常被認為是一種簡化的腳本語言,它應用於DOS和Windows系統中。批處理文件的擴展名為bat 。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基於強大的圖片編輯軟體Photoshop的,用來批量處理圖片的腳本;而DOS批處理則是基於DOS命令的,用來自動地批量地執行DOS命令以實現特定操作的腳本。更復雜的情況,需要使用if、for、goto等命令控製程式的運行過程,如同C、Basic等高級語言一樣。如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟體,任何當前系統下可運行的程序都可以放在批處理文件中運行。有些人認為批處理語言的含義要比上面的描述更廣泛,還包括許多軟體自帶的批處理語言,如 Microsoft Office、Visual Studio、Adobe Photoshop 所內置的批處理語言的功能,用戶可通過它們讓相應的軟體執行自動化操作(例如調整某個資料夾所有 PSD 圖檔的解析度)。 而這類批處理語言也大多提供把一系列操作錄制為批處理文件的功能,這樣用戶不必寫程式就能得到批處理程序。[1][1]參考資料 賴榮樞.易學易用的Windows PowerShell Microsoft TechNet. 2006-06-01 [2014-03-05].
『玖』 什麼是批處理
批處理,也稱為批處理腳本,英文譯為BATCH,批處理文件後綴BAT就取的前三個字母。它的構成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執行,直到最後一行結束,它運行的平台是DOS。
當然在現在 的 平台軟體 來說 就是一條 通俗的 定義
通過命令 控制 來實現 同時處理 多種同類型任務 以達到高效的目的
『拾』 求批處理相關內容介紹(要整理後的)
如果你的操作系統安裝的是完整版的不是那些什麼番茄花園之類的話,那你的
c:\windows\help\ntcmds.chm
這個文件就是批處理的最全的幫助文檔了.裡面有每個命令的詳細說明,還有例子.