Windows cmd
對于跨平台的程式,通常會提供一些有用的指令行工具,是以shell腳本、bat腳本檔案就必不可少了。網絡上shell的書、文章都不少的,是以了解起來會相對容易的多,而windows下的bat網上則少有涉及。這裡不打算寫windows bat 程式設計大全,而是簡單對bat做一個簡單的入門級的學習。
不論在寫shell,還是bat,它們的設計都遵守這樣一條原則:一切都是指令。Windows下指令是大小寫不敏感的。
基本指令(rem, echo, @,/?)
rem:注釋 (comment, remarks)。參數可以是任何内容。
echo :它有兩個功能:列印消息、調試開關。如果參數是on 或者off,代表打開、關閉調試,如果後面是其它内容,則參數代表要輸出的消息。為什麼說是debug開關呢?如果設定了echo on,随後執行的任何指令及其執行結果都會輸出到标準輸出流。
@用于關閉某個指令的調試資訊,意思是說使用@标注的指令不會打出指令本身、執行結果。
/? 檢視指令幫助
例如:
REM open the cmd echo
@echo on
echo hello, windows cmd
@echo hello, windows cmd
REM close the cmd echo
@echo off
echo hello, windows cmd
@echo hello, windows cmd
執行結果:
D:\Note\windows cmd>REM open the cmd echo
D:\Note\windows cmd>echo hello, windows cmd
hello, windows cmd
hello, windows cmd
D:\Note\windows cmd>REM close the cmd echo
hello, windows cmd
hello, windows cmd
對于REM的指令,也是會打到STD裡,如果不希望看到,就可以使用@标注。
控制指令(if-else, for-in-do, goto)
if-else
if [not] errorlevel number command [else expression] 基于上一個指令執行的結果進行判定操作 if [not] string1==string2 command [else expression] 判定兩個字元串是否相等 if [not] exist FileName command [else expression] 判定指定的檔案是否存在 If command extensions are enabled, use the following syntax: if [/i] string1 CompareOp string2 command [else expression] 進行字元串比較 (equ, neq, lss, leq, gtr, geq) if cmdextversion number command [else expression] if defined variable command [else expression] |
For-in-do
循環執行,指令文法:
for {%variable | %%variable} in (set) do command [CommandLineOptions] |
1)For, in, do 是基本結構,必不可少;
2){%variable | %%variable} 必要的,變量大小寫敏感。
在指令提示符中執行for時,for中引用變量時,使用%
在批處理檔案中執行for時,for中引用變量時,使用%%
此外,為了避免與bat檔案的參數 %0到 %9相沖突,是以變量不能是0-9的數字
3)( set ) 必要的。用于指定多個 files, directories, range of values, textstrings。括号不能省。
4)command 必要的,代表要執行的指令。
5)commandLineOptions, 執行command時所需的參數
更多用法,可能參考:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490909(v%3dtechnet.10)
goto
文法:goto label
跳轉到指定的label。如果指定的label不存在,就繼續執行下一條指令。如果找到label,就從label處繼續執行。如果程式以正常順序執行到一個label處,而不是通過goto跳轉到label,label下的語句仍舊以正常順序執行。

想要了解更多指令參見:
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490890(v%3dtechnet.10)
作者: 房繼諾
出處:http://www.cnblogs.com/f1194361820
版權:本文版權歸作者和部落格園共有
歡迎轉載,轉載請需要注明部落格出處
技術交流QQ:1194361820,加好友請注明:來自部落格園,不要說你是部落格園,也可以掃描圖像二維碼直接加我。