導航:首頁 > 程序命令 > cmd命令語法

cmd命令語法

發布時間:2022-12-08 23:45:44

㈠ CMD語法解讀

語法格式:

netview主機名
netview192.168.1.100


一般一行執行一條命令,如果要執行多條命令需要使用 & 符號.例如:

netviewliang&pingliang

這樣才能正確執行兩條命令.如果不加&符,cmd會認為是一條命令,所以報錯.

㈡ 求CMD的用法

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
其中:CMD是不可缺少的!
/C 執行字元串指定的命令然後終斷
/K 執行字元串指定的命令但保留
/S 在 /C 或 /K 後修改字元串處理(見下)
/Q 關閉回應
/D 從注冊表中停用執行 AutoRun 命令(見下)
/A 使向內部管道或文件命令的輸出成為 ANSI
/U 使向內部管道或文件命令的輸出成為 Unicode
/T:fg 設置前景/背景顏色(詳細信息,請見 COLOR /?)
/E:ON 啟用命令擴展(見下)
/E:OFF 停用命令擴展(見下)
/F:ON 啟用文件和目錄名稱完成字元 (見下)
/F:OFF 停用文件和目錄名稱完成字元(見下)
/V:ON 將 ! 作為定界符啟動延緩環境變數擴展。如: /V:ON 會允許 !var! 在執行時允許 !var! 擴展變數 var。var 語法在輸入時擴展變數,這與在一個 FOR 循環內不同。
/V:OFF 停用延緩的環境擴展。
請注意,如果字元串有引號,可以接受用命令分隔符 '&&' 隔開的多個命令。並且,由於兼容原因,/X 與 /E:ON 相同,/Y 與/E:OFF 相同,並且 /R 與 /C 相同。忽略任何其他命令行開關。如果指定了 /C 或 /K,命令行開關後的命令行其餘部分將作為命令行處理;在這種情況下,會使用下列邏輯處理引號字元("):

1.如果符合下列所有條件,那麼在命令行上的引號字元將被
保留:
- 不帶 /S 命令行開關
- 整整兩個引號字元
- 在兩個引號字元之間沒有特殊字元,特殊字元為下列中的
一個: <>()@^|
- 在兩個引號字元之間有至少一個空白字元
- 在兩個引號字元之間有至少一個可執行文件的名稱。

2.否則,看第一個字元是否是一個引號字元,如果是,捨去開頭的字元並刪除命令行上 的最後一個引號字元,保留最後一個引號字元之後的文字。

如果 /D 未在命令行上被指定,當 CMD.EXE 開始時,它會尋找以下 REG_SZ/REG_EXPAND_SZ 注冊表變數。如果其中一個或兩個都存在,這兩個變數會先被執行。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun命令擴展是按默認值啟用的。您也可以使用 /E:OFF,為某一特定調用而停用擴展。您可以在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有調用的擴展,這要通過設置使用REGEDT32.EXE 的注冊表中的一個或兩個 REG_DWORD 值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

到 0x1 或 0x0。用戶特定設置比機器設置有優先權。命令行開關比注冊表設置有優先權。以上是對於基本命令的介紹,下麵包含的是命令行擴展部分。延遲變數環境擴展不按默認值啟用。您可以用/V:ON 或 /V:OFF
命令行開關,為 CMD.EXE 的某個調用而啟用或停用延遲環境變數擴充。

您可以在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有調用的完成,這要通過設置使用 REGEDT32.EXE 的注冊表中的一個或兩個 REG_DWORD 值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedEXPansion

和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedEXPansion

到 0x1 或 0x0。用戶特定設置比機器設置有優先權。命令行開關比注冊表設置有優先權。
如果延遲環境變數擴充被啟用,驚嘆號字元可在執行時間,被用來代替一個環境變數的數值。文件和目錄名完成不按默認值啟用。您可以用 /F:ON 或 /F:OFF命令行開關,為 CMD.EXE 的某個調用而啟用或停用文件名完成。 您可以在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有調用的完成,這要通過設置使用 REGEDT32.EXE 的注冊表中的一個或兩個REG_DWORD 值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

由一個控制字元的十六進制值作為一個特定參數(例如,0x4 是Ctrl-D,0x6 是 Ctrl-F)。 用戶特定設置優先於機器設置。命令行開關優先於注冊表設置。

如果完成是用 /F:ON 命令行開關啟用的,兩個要使用的控制符是: 目錄名字完成用 Ctrl-D, 文件名完成用 Ctrl-F。 要停用注冊表中的某個字元,請用空格(0x20)的數值,因為此字元不是控制字元。

如果鍵入兩個控制字元中的一個,完成會被調用。完成功能將路徑字元串帶到游標的左邊,如果沒有通配符,將通配符附加到左邊,並建立相符的路徑列表。然後,顯示第一個相符的路徑。如果沒有相符的路徑,則發出嘟嘟聲,不影響顯示。之後,重復按同一個控制字元會循環顯示相符路徑的列表。將 Shift 鍵跟控制字元同時按下,會倒著顯示列表。如果對該行進行了任何編輯,並再次按下控制字元,保存的相符路徑的列表會被丟棄,新的會被生成。如果在文件和目錄名完成之間切換,會發生同樣現象。兩個控制字元之間的唯一區別是文件完成字元符合文件和目錄名,而目錄完成字元只符合目錄名。如果文件完成被用於內置式目錄命令(CD、MD 或 RD),就會使用目錄完成。

將引號將相符路徑括起來,完成代碼可以正確處理含有空格或其他特殊字元的文件名。同時,如果備份,然後從行內調用文件完成,完成被調用是位於游標右方的文字會被丟棄。

需要引號的特殊字元是:

&()[]{}^=;!'+,`~
下面是命令行擴展的詳細應用方法介紹:熟悉dos的朋友會發現許多內容和dos相同。
1、DEL 或 ERASE
刪除一個或數個文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一個或數個文件或目錄列表。通配符可被用來
刪除多個文件。如果指定了一個目錄,目錄中的所
有文件都會被刪除。

/P 刪除每一個文件之前提示確認。
/F 強制刪除只讀文件。
/S 從所有子目錄刪除指定文件。
/Q 安靜模式。刪除全局通配符時,不要求確認。
/A 根據屬性選擇要刪除的文件。
attributes R 只讀文件 S 系統文件
H 隱藏文件 A 存檔文件
- 表示「否」的前綴

如果命令擴展名被啟用,DEL 和 ERASE 會如下改變:

/S 開關的顯示句法會顛倒,即只顯示已經刪除的文件,而不顯示找不到的文件。

2、COLOR
設置默認的控制台前景和背景顏色。
COLOR [attr]
attr 指定控制台輸出的顏色屬性
顏色屬性由兩個十六進制數字指定 -- 第一個為背景,第二個則為
前景。每個數字可以為以下任何值之一:
0 = 黑色 8 = 灰色
1 = 藍色 9 = 淡藍色
2 = 綠色 A = 淡綠色
3 = 湖藍色 B = 淡淺綠色
4 = 紅色 C = 淡紅色
5 = 紫色 D = 淡紫色
6 = 黃色 E = 淡黃色
7 = 白色 F = 亮白色
如果沒有給定任何參數,該命令會將顏色還原到 CMD.EXE 啟動時的顏色。這個值來自當前控制台窗口、/T 開關或DefaultColor 注冊表值。
如果用相同的前景和背景顏色來執行 COLOR 命令,COLOR 命令會將 ERRORLEVEL 設置為 1。
例如: "COLOR fc" 在亮白色上產生亮紅色

3、CD 或 CHDIR
顯示當前目錄名或改變當前目錄。
CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]
.. 指定要改成父目錄。
鍵入 CD 驅動器: 顯示指定驅動器中的當前目錄。
不帶參數只鍵入 CD,則顯示當前驅動器和目錄。
使用 /D 命令行開關,除了改變驅動器的當前目錄之外,
還可改變當前驅動器。
如果擴展命令名被啟用,CHDIR 會如下改變:
當前的目錄字元串會被轉換成使用磁碟名上的大小寫。所以,如果磁碟上的大小寫如此,CD C : \TEMP 會將當前目錄設為C:\Temp。
CHDIR 命令不把空格當作分隔符,因此有可能將目錄名改為一個帶有空格但不帶有引號的子目錄名。例如:
cd \Winnt\profiles\username\programs\start menu
與下列相同:
cd "\Winnt\profiles\username\programs\start menu"
在擴展功能停用的情況下,您必須鍵入以上命令。

4、MD 或 MKDIR
創建目錄。
MKDIR [drive:]path
MD [drive:]path
如果命令擴展名被啟用,MKDIR 會如下改變:
如果需要,MKDIR 會在路徑中創建中級目錄。例如: 假設 \a 不存在,那麼:
mkdir \a\b\c\d
與:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
相同。如果擴展名被停用,則需要鍵入 mkdir \a\b\c\d。

5、PROMPT
更改 cmd.exe 命令提示符。
PROMPT [text]
text 指定新的命令提示符。
提示符可以由普通字元及下列特定代碼組成:
$A & (短 and 符號)
$B | (管道)
$C ( (左括弧)
$D 當前日期
$E Escape code (ASCII 碼 27)
$F ) (右括弧)
$G > (大於符號)
$H Backspace (擦除前一個字元)
$L < (小於符號)
$N 當前驅動器
$P 當前驅動器及路徑
$Q = (等號)
$S (空格)
$T 當前時間
$V Windows XP 版本號
$_ 換行
$$ $ (貨幣符號)

如果命令擴展名被啟用,PROMPT 命令會支持下列格式化字元:
$+ 根據 PUSHD 目錄堆棧的深度,零個或零個以上加號(+)字元;每個被推的層有一個字元。
$M 如果當前驅動器不是網路驅動器,顯示跟當前驅動器號或空字元串有關聯的遠程名。

6、PUSHD
保存當前目錄以供 POPD 命令使用,然後改到指定的目錄。
PUSHD [path | ..]
path 指定要成為當前目錄的目錄。
如果命令擴展名被啟用,除了一般驅動器號和路徑,PUSHD命令還接受網路路徑。如果指定了網路路徑,PUSHD 將創建一個指向指定網路資源的臨時驅動器號,然後再用剛定義的驅動器號改變當前的驅動器和目錄。可以從 Z: 往下分配臨時驅動器號,使用找到的第一個沒有用過的驅動器號。

7、POPD
命令選項到保存在 PUSHD 命令里的目錄。
POPD
如果命令擴展名被啟用,從推目錄堆棧 POPD 驅動器時,POPD命令會刪除 PUSHD 創建的臨時驅動器號。

8、SET
顯示、設置或刪除 cmd.exe 環境變數。
SET [variable=[string]]
variable 指定環境變數名。
string 指定要指派給變數的一系列字元串。
要顯示當前環境變數,鍵入不帶參數的 SET。
如果命令擴展名被啟用,SET 會如下改變:
可僅用一個變數激活 SET 命令,等號或值不顯示所有前綴匹配SET命令已使用的名稱的所有變數的值。例如:
SET P
會顯示所有以字母 P 打頭的變數如果在當前環境中找不到該變數名稱,SET 命令將把 ERRORLEVEL
設置成 1。
SET 命令不允許變數名含有等號。
在 SET 命令中添加了兩個新命令行開關:
SET /A eXPression
SET /P variable=[promptString]
/A 命令行開關指定等號右邊的字元串為被評估的數字表達式。該表達式評估器很簡單並以遞減的優先權順序支持下列操作:
() - 分組
! ~ - - 一元運算符
* / % - 算數運算符
+ - - 算數運算符
<< >> - 邏輯移位
- 按位「與」
^ - 按位「異」
| - 按位「或」
= *= /= %= += -= - 賦值
&= ^= |= <<= >>=
- 表達式分隔符

如果您使用任何邏輯或取余操作符, 您需要將表達式字元串用引號擴起來。在表達式中的任何非數字字元串鍵作為環境變數名稱,這些環境變數名稱的值已在使用前轉換成數字。如果指定了一個環境變數名稱,但未在當前環境中定義,那麼值將被定為零。這使您可以使用環境變數值做計算而不用鍵入那些 % 符號來得到它們的值。如果 SET /A 在命令腳本外的命令行執行的,那麼它顯示該表達式的最後值。該分配的操作符在分配的操作符左邊需要一個環境變數名稱。除十六進制有 0x 前綴,八進制有 0 前綴的,數字值為十進位數字。因此, 0x12 與 18 和 022相同。請注意八進制公式可能很容易搞混: 08 和 09 是無效的數字,因為 8 和 9 不是有效的八進制位數。
/P 命令行開關允許將變數數值設成用戶輸入的一行輸入。讀取輸入行之前,顯示指定的 promptString。promptString 可以是空的。
環境變數替換已如下增強:
%PATH:str1=str2%
會擴展 PATH 環境變數,用 "str2" 代替擴展結果中的每個 "str1"。
要有效地從擴展結果中刪除所有的 "str1","str2" 可以是空的。
"str1" 可以以星號打頭;在這種情況下,"str1" 會從擴展結果的開始到 str1 剩餘部分第一次出現的地方,都一直保持相配。
也可以為擴展名指定子字元串。
%PATH:~10,5%
會擴展 PATH 環境變數,然後只使用在擴展結果中從第 11 個(偏移量 10)字元開始的五個字元。如果沒有指定長度,則採用默認值,即變數數值的余數。如果兩個數字(偏移量和長度)都是負數,使用的數字則是環境變數數值長度加上指定的偏移量或長度。
%PATH:~-10%
會提取 PATH 變數的最後十個字元。
%PATH:~0,-2%
會提取 PATH 變數的所有字元,除了最後兩個。
終於添加了延遲環境變數擴充的支持。該支持總是按默認值被停用,但也可以通過 CMD.EXE 的 /V 命令行開關而被啟用/停用。
考慮到讀取一行文本時所遇到的目前擴充的限制時,延遲環境變數擴充是很有用的,而不是執行的時候。以下例子說明直接變數擴充的問題:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "%VAR%" == "after" @echo If you see this, it worked
)

不會顯示消息,因為在讀到第一個 IF 語句時,BOTH IF 語句中的 %VAR% 會被代替;原因是: 它包含 IF 的文體,IF 是一個復合語句。所以,復合語句中的 IF 實際上是在比較 "before" 和"after",這兩者永遠不會相等。同樣,以下這個例子也不會達到預期效果:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
原因是它不會在目前的目錄中建立一個文件列表,而只是將LIST 變數設成找到的最後一個文件。這也是因為 %LIST% 在FOR 語句被讀取時,只被擴充了一次;而且,那時的 LIST 變數是空的。因此,我們真正執行的 FOR 循環是:
for %i in (*) do set LIST= %i
這個循環繼續將 LIST 設成找到的最後一個文件。
延遲環境變數擴充允許您使用一個不同的字元(驚嘆號)在執行時間擴充環境變數。如果延遲的變數擴充被啟用,可以將上面例子寫成以下所示,以達到預期效果:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
如果命令擴展名被啟用,有幾個動態環境變數可以被擴展,但不會出現在 SET 顯示的變數列表中。每次變數數值被擴展時,這些變數數值都會被動態計算。如果用戶用這些名稱中任何一個定義變數,那個定義會替代下面描述的動態定義:
%CD% - 擴展到當前目錄字元串。

%DATE% - 用跟 DATE 命令同樣的格式擴展到當前日期。

%TIME% - 用跟 TIME 命令同樣的格式擴展到當前時間。

%RANDOM% - 擴展到 0 和 32767 之間的任意十進制數字。

%ERRORLEVEL% - 擴展到當前 ERRORLEVEL 數值。

%CMDEXTVERSION% - 擴展到當前命令處理器擴展名版本號。

%CMDCMDLINE% - 擴展到調用命令處理器的原始命令行。

9、SETLOCAL
開始批處理文件中環境改動的本地化操作。在執行 SETLOCAL 之後所做的環境改動只限於批處理文件。要還原原先的設置,必須執行 ENDLOCAL。達到批處理文件結尾時,對於該批處理文件的每個尚未執行的 SETLOCAL 命令,都會有一個隱含的 ENDLOCAL 被執行。
SETLOCAL
如果命令擴展名被啟用,SETLOCAL 會如下改變:
SETLOCAL 批命令現在可以接受可選參數:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
啟動或停用命令處理器擴展名。詳細信息,請參閱 CMD /?。
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
啟動或停用延緩環境變數擴展名。詳細信息,請
參閱 對SET的介紹 。
無論在 SETLOCAL 命令之前它們的設置是什麼,這些修改會一直保留到匹配的 ENDLOCAL 命令。
如果有一個參數,SETLOCAL 命令將設置 ERRORLEVEL 的值。
如果有兩個有效參數中的一個,該值則為零。用下列技巧,您可以在批腳本中使用這個來決定擴展名是否可用:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions

這個方法之所以有效,是因為在 CMD.EXE 的舊版本上,SETLOCAL不設置 ERRORLEVEL 值。具有不正確參數的 VERIFY 命令將ERRORLEVEL 值初始化成非零值。

10、ENDLOCAL
結束批處理文件中環境改動的本地化操作。在執行ENDLOCAL 之後所做的環境改動不再僅限於批處理文件。批處理文件結束後,原先的設置無法還原。
ENDLOCAL
如果命令擴展名被啟用,ENDLOCAL 會如下改變:
如果相應的 SETLOCAL 用新的 ENABLEEXTENSIONS 或DISABLEEXTENSIONS 選項啟用或停用了命令擴展名,那麼,在ENDLOCAL 之後,命令擴展名的啟用/停用狀態會還原到執行相應的 SETLOCAL 命令前的狀態。

11、IF
執行批處理程序中的條件處理。

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 當前數值的
字串符表達式;否則,您會得到其數值。

12、FOR
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 變數是單一字母、分大小寫和全局的;而

㈢ windows 常用cmd命令詳解

cmd命令,就是cmd.exe執行操作命令。

想要使用cmd命令,就是我們常說的黑窗口,按win+r,輸入:cmd,確定

先來個命令:ping+域名,執行結果如下:

現在黑窗口中已經有ping www..com 的記錄了,在這個窗口下,再次使用該命令的方式有三種:

方式一:再次手動敲出同樣的命令;
方式二:按方向鍵「↑」,所有已經執行過的命令,都被記錄了下來,可以無限次上翻記錄,直到找到自己想要執行的命令;
注意:只能用方向鍵「↑」逐個上翻歷史記錄。
方式三:復制,粘貼;
選中要復制的命令,此時又可以分為兩種情況:
情形一:win7
在選中之後,點擊滑鼠右鍵,選擇「標記」,在需要輸入命令的地方,右鍵,選擇「粘貼」
情形二:win10
方式一:在選中之後,直接Ctrl+c完成復制,Ctrl+v完成粘貼;
方式二:在選中之後,直接使用右鍵完成復制和粘貼。

方向鍵「←」,「→」,負責指定游標所在位置,通常用它配合退格鍵,來小幅修改要執行的命令。

再來個類似的命令:ping+域名+"-t",執行結果如下:

如果,我們不手動終止該命令的執行的話,它會一直進行下去;如何終止命令行的執行?

下面進入正題

ping命令
telnet命令
這兩個命令的具體用法,見文末推薦
ipconfig命令
它通常用來查詢本機所對應的IP地址

IPv4 地址,就是可供外機訪問本機的地址

我們現在在C盤下,如何切換到D:apache-activemq-5.14.2目錄下?
我們可能想到的是:

失敗,原因是:cd命令,只能限於同個盤符間目錄的切換。

cd命令

切換到一級子目錄:

多級子目錄

切換到一級父目錄:

..回到上一層目錄,注意cd 與..之間有空格

切換到多級父目錄:

多級父目錄,要使用../../,一個../代表一級

切換到磁碟根目錄下

盤符命令

語法:

切換到d盤

回到剛才的話題:如何切換到D:apache-activemq-5.14.2目錄下?
需要兩步:

語法:

使用該命令即可查看環境變數path的值(哪些命令能生效,可以調用哪些命令等)

直接輸入變數名稱,不用set也是可以的。

語法:

按Ctrl+c即可退出

執行time命令後,會讓你輸入要設置的新時間,如果不想改,按Ctrl+c即可退出。

會打開一個新的cmd命令窗口

常用命令,都在這里

輸入exit並按回車鍵或者點擊關閉按鈕

背景色和前景色的取值范圍:0-f。

修改成功,可惜的是:當我們重新打開黑窗口時,就又會回到黑色(僅當前窗口有效)。

基本上就這些了,其它命令,等遇到的時候再進行補充。

㈣ CMD指令詳解

以下是cmd的命令參數詳解:<P>CMD [/A │ /U] [/Q] [/D] [/E:ON │ /E:OFF] [/F:ON │ /F:OFF]
[/V:ON │ /V:OFF] [/S] [/C │ /K] string] <P>/C 執行字元串指定的命令然後終斷
/K 執行字元串指定的命令但保留
/S 在 /C 或 /K 後修改字元串處理(見下)
/Q 關閉回應
/D 從注冊表中停用執行 AutoRun 命令(見下)
/A 使向內部管道或文件命令的輸出成為 ANSI
/U 使向內部管道或文件命令的輸出成為 Unicode
/T:fg 設置前景/背景顏色(詳細信息,請見 COLOR /?)
/E:ON 啟用命令擴展(見下)
/E:OFF 停用命令擴展(見下)
/F:ON 啟用文件和目錄名稱完成字元 (見下)
/F:OFF 停用文件和目錄名稱完成字元(見下)
/V:ON 將 ! 作為定界符啟動延緩環境變數擴展。如: /V:ON 會允許 !var! 在執行時允許 !var! 擴展變數 var。var 語法在輸入時擴展變數,這與在一個 FOR 循環內不同。
/V:OFF 停用延緩的環境擴展。 <P>請注意,如果字元串有引號,可以接受用命令分隔符 ''&&'' 隔開
的多個命令。並且,由於兼容原因,/X 與 /E:ON 相同,/Y 與 /E:OFF 相同,並且 /R 與 /C 相同。忽略任何其他命令行開關。
如果指定了 /C 或 /K,命令行開關後的命令行其餘部分將作為命令行處理;在這種情況下,會使用下列邏輯處理引號字元("): <P>1. 如果符合下列所有條件,那麼在命令行上的引號字元將被保留:
- 不帶 /S 命令行開關
- 整整兩個引號字元
- 在兩個引號字元之間沒有特殊字元,特殊字元為下列中的一個: <>()@^│
- 在兩個引號字元之間有至少一個空白字元
- 在兩個引號字元之間有至少一個可執行文件的名稱。 <P>2. 否則,老辦法是,看第一個字元是否是一個引號字元,如果是,捨去開頭的字元並刪除命令行上 的最後一個引號字元,保留最後一個引號字元之後的文字。
如果 /D 未在命令行上被指定,當 CMD.EXE 開始時,它會尋找以下 REG_SZ/REG_EXPAND_SZ 注冊表變數。如果其中一個或兩個都存在,這兩個變數會先被執行。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
命令擴展是按默認值啟用的。您也可以使用 /E:OFF,為某一特定調用而停用擴展。您可以在機器上和/或用戶登錄會話上啟用或停用CMD.EXE 所有調用的擴展,這要通過設置使用REGEDT32.EXE 的注冊表中的一個或兩個 REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
到 0x1 或 0x0。用戶特定設置比機器設置有優先權。命令行開關比注冊表設置有優先權。 <P>命令行擴展包括對下列命令所做的更改和/或添加:
DEL 或 ERASE
COLOR
CD 或 CHDIR
MD 或 MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (同時包括對外部命令調用所做的更改)
ASSOC
FTYPE <P>延遲變數環境擴展不按默認值啟用。您可以用/V:ON 或 /V:OFF命令行開關,為 CMD.EXE 的某個調用而啟用或停用延遲環境變數擴充。
您可以在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有調用的完成,這要通過設置使用 REGEDT32.EXE 的注冊表中的一個或兩個 REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
到 0x1 或 0x0。用戶特定設置比機器設置有優先權。命令行開關比注冊表設置有優先權。
如果延遲環境變數擴充被啟用,驚嘆號字元可在執行時間,被用來代替一個環境變數的數值。
文件和目錄名完成不按默認值啟用。您可以用 /F:ON 或 /F:OFF命令行開關,為 CMD.EXE 的某個調用而啟用或停用文件名完成。 您可以在機器上和/或用戶登錄會話上啟用或停用 CMD.EXE 所有調用的完成,這要通過設置使用 REGEDT32.EXE 的注冊表中的一個或兩個REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
由一個控制字元的十六進制值作為一個特定參數(例如,0x4 是Ctrl-D,0x6 是 Ctrl-F)。 用戶特定設置優先於機器設置。命令行開關優先於注冊表設置。
如果完成是用 /F:ON 命令行開關啟用的,兩個要使用的控制符是:目錄名字完成用 Ctrl-D, 文件名完成用 Ctrl-F。 要停用注冊表中的某個字元,請用空格(0x20)的數值,因為此字元不是控制字元。
如果鍵入兩個控制字元中的一個,完成會被調用。完成功能將路徑字元串帶到游標的左邊,如果沒有通配符,將通配符附加到左邊,並建立相符的路徑列表。然後,顯示第一個相符的路徑。如果沒有相符的路徑,則發出嘟嘟聲,不影響顯示。之後,重復按同一個控制字元會循環顯示相符路徑的列表。將 Shift 鍵跟控制字元同時按下,會倒著顯示列表。如果對該行進行了任何編輯,並再次按下控制字元,保存的相符路徑的列表會被丟棄,新的會被生成。如果在文件和目錄名完成之間切換,會發生同樣現象。兩個控制字元之間的唯一區別是文件完成字元符合文件和目錄名,而目錄完成字元只符合目錄名。如果文件完成被用於內置式目錄命令(CD、MD 或 RD),就會使用目錄完成。將引號將相符路徑括起來,完成代碼可以正確處理含有空格或其他特殊字元的文件名。同時,如果備份,然後從行內調用文件完成,完成被調用是位於游標右方的文字會被丟棄。

閱讀全文

與cmd命令語法相關的資料

熱點內容
中國移動長沙dns伺服器地址 瀏覽:249
wifi密碼加密了怎麼破解嗎 瀏覽:596
linux命令cpu使用率 瀏覽:67
linux實用命令 瀏覽:238
傳奇引擎修改在線時間命令 瀏覽:109
php取域名中間 瀏覽:897
cad命令欄太小 瀏覽:830
php開發環境搭建eclipse 瀏覽:480
qt文件夾名稱大全 瀏覽:212
金山雲伺服器架構 瀏覽:230
安卓系統筆記本怎麼切換系統 瀏覽:618
u盤加密快2個小時還沒有搞完 瀏覽:93
小米有品商家版app叫什麼 瀏覽:94
行命令調用 瀏覽:436
菜鳥裹裹員用什麼app 瀏覽:273
窮查理寶典pdf下載 瀏覽:514
csgo您已被禁用此伺服器怎麼辦 瀏覽:398
打開加密軟體的方法 瀏覽:156
雲存儲伺服器可靠嗎 瀏覽:967
2核1g的雲伺服器能帶動游戲嘛 瀏覽:898