bat:
站在用戶的角度思考問題,與客戶深入溝通,找到河間網(wǎng)站設(shè)計與河間網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋河間地區(qū)。批處理(Batch)是一種簡化的腳本語言,也稱作宏。它應用于DOS和Windows系統(tǒng)中,它是由DOS或者Windows系統(tǒng)內(nèi)嵌的命令解釋器(通常是COMMAND. COM或者CMD.EXE)解釋運行。類似于Unix中的Shell腳本。批處理文件具有.bat或者.cmd的擴展名,其最簡單的例子,是逐行書寫在命令行中會用到的各種命令。更復雜的情況,需要使用if,for,goto等命令控制程序的運行過程,如同C,Basic等中高級語言一樣。如果需要實現(xiàn)更復雜的應用,利用外部程序是必要的,這包括系統(tǒng)本身提供的外部命令和第三方提供的工具或者軟件。批處理文件,或稱為批處理程序,是由一條條的DOS命令組成的普通文本文件,可以用記事本直接編輯或用DOS命令創(chuàng)建,也可以用DOS下的文本編輯器Edit.exe來編輯。在“命令提示”下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統(tǒng)就會調(diào)用Cmd.exe運行該批處理程序。一般情況下,每條命令占據(jù)一行;當然也可以將多條命令用特定符號(如:&;、&&;、|、||等)分隔后寫入同一行中;還有的情況就是像if、for等較高級的命令則要占據(jù)幾行、幾十甚至幾百行的空間。系統(tǒng)在解釋運行批處理程序時,首先掃描整個批處理程序,然后從第一行代碼開始向下逐句執(zhí)行所有的命令,直至程序結(jié)尾或遇見exit命令或出錯意外退出。
echo [{on|off}] [message]
Sample:@echo off / echo hello world
rem [注釋內(nèi)容]
示例:rem 你好。
::和rem還是有區(qū)別的,當關(guān)閉回顯時,rem和::后的內(nèi)容都不會顯示。但是當打開回顯時,rem后的內(nèi)容會顯示出來,然而::后的內(nèi)容仍然不會顯示。
Pause?? 此命令將顯示下面的消息:
Press any key to continue. . .(或:請按任意鍵繼續(xù). . .)
call??? 從一個批處理程序調(diào)用另一個批處理程序,并且不終止父批處理程序。
call [路徑文件名] [標簽]]
start?? 調(diào)用外部程序,所有的DOS命令和命令行程序都可以由start命令來調(diào)用。
如:start calc.exe即可打開Windows的計算器
goto??? 跳轉(zhuǎn)命令。程序指針跳轉(zhuǎn)到指定的標簽,從標簽后的第一條命令開始繼續(xù)執(zhí)行批處理程序
示例:
:1
start
goto 1
注釋:會打開很多個窗口(用來整人相當不錯)。先用start命令打開窗口,再用goto 1命令轉(zhuǎn)到1標簽。注意標簽名字前面要加上英文的冒號。
set???? 顯示、設(shè)置或刪除變量。批處理中的變量是不區(qū)分類型的
示例:
set aa=345???? ##變量aa的值既可以被視為數(shù)字345,也可以被視為字符串345
命令"setlocal enabledelayedexpansion"來開啟延遲變量開關(guān)
@?????? 回顯屏蔽,表示不顯示@后面的命令
>、>>(輸出重定向)? <(輸入重定向)
^(轉(zhuǎn)義符):將特殊字符轉(zhuǎn)為普通字符,特殊符號指:| & > <
示例:
echo? ^>
邏輯命令符包括:&;、&&;、||
&:用來連接n個DOS命令,并把這些命令按順序執(zhí)行,而不管是否有命令執(zhí)行失??;
&&:前面的命令成功執(zhí)行時,執(zhí)行&&后面的命令,前面命令失敗則后面不執(zhí)行;
||:當前面的命令失敗時,執(zhí)行||后面的命令,否則不執(zhí)行后面命令;
if語句:
(1)字符串比較
IF [not] string1 compare-op string2 command1 [else command2]
compare-op有以下幾類:
== - 等于
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
注:選擇開關(guān)/i則不區(qū)分字符串大小寫;選擇not項,則對判斷結(jié)果進行邏輯非
示例:if %str1%==%str2% (echo 字符串相同!) else (echo 字符串不相同!)
if /i %str1% LSS %str2% (echo str1^<str2) else (echo str1^>=str2)
交互式:
echo.
set /p choice=是否顯示當前時間?(y/n)
if /i not %choice% EQU n echo 當前時間是:%date% %time%
pause>nul
(2)存在判斷
IF [NOT] EXIST filename command1 [else command2]
示例:
@echo off
if exist %0 echo 文件%0是存在的!
if not exist %~df0 (
echo 文件夾%~df0不存在!
) else echo 文件夾%~df0存在!
pause>nul
注釋:存在判斷既可以判斷文件也可以判斷文件夾、格式嚴格按上(%0即代表該批處理的全稱,%~df0是對%0的修正,只保留了其驅(qū)動器盤符和路徑)
(3)定義判斷(判斷變量是否存在)
IF [not] DEFINED variable command1 [else command2]
示例:
@echo off
set var=111
if defined var (echo var=%var%) else echo var尚未定義!
set var=% %
if defined var (echo var=%var%) else echo var尚未定義!
pause>nul
(4)結(jié)果判斷
for語句:
(1)無開關(guān)
FOR %%variable IN (set) DO command
示例:for %%i in (a,"b c",d) do echo %%i
注釋:%%variable是批處理程序里面的書寫格式,在DOS中書寫為%variable,即只有一個百分號(%)
(2)開關(guān)(大小寫都可)
FOR /L %%variable IN (start,step,end) DO command???????? ##/L可根據(jù)start、step、end控制循環(huán)次數(shù)
FOR /F ["options"] %%variable IN (set) DO command??????? ##/F
##開關(guān)/D羅列出所有文件? /R遍歷文件夾
字符串:
=========================================
@echo off
set ifo=abcdefghijklmnopqrstuvwxyz0 12 3456789
echo 原字符串(第二行為各字符的序號):
echo %ifo%
echo 1234567890123 45678901234567890123456
echo 截取前5個字符:
echo %ifo:~0,5%
echo 截取最后5個字符:
echo %ifo:~-5%
echo 截取第一個到倒數(shù)第6個字符:
echo %ifo:~0,-5%
echo 從第4個字符開始,截取5個字符:
echo %ifo:~3,5%
echo 從倒數(shù)第14個字符開始,截取5個字符:
echo %ifo:~-14,5%
pause
=========================================
=========================================
@echo off
echo 當前時間是:%time% 即 %time:~0,2%點%time:~3,2%分%time:~6,2%秒%time:~9,2%厘秒
pause
=========================================
替換字符串
=========================================
@echo off
set aa=偉大的中國!我為你自豪!
echo 替換前:%aa%
echo 替換后:%aa:中國=中華人民共和國%
echo aa = %aa%
set "aa=%aa:中國=中華人民共和國%"
echo aa = %aa%
pause
=========================================
字符串合并
@echo off
set aa=偉大的中國!
set bb=我為你自豪!
echo %aa%%bb%
echo aa=%aa%
echo bb=%bb%
set "aa=%aa%%bb%"
echo aa=%aa%
pause
擴充字符串
=========================================
~I - 刪除任何引號("),擴充 %I
%~fI - 將 %I 擴充到一個完全合格的路徑名
%~dI - 僅將 %I 擴充到一個驅(qū)動器號
%~pI - 僅將 %I 擴充到一個路徑
%~nI - 僅將 %I 擴充到一個文件名
%~xI - 僅將 %I 擴充到一個文件擴展名
%~sI - 擴充的路徑只含有短名
%~aI - 將 %I 擴充到文件的文件屬性
%~tI - 將 %I 擴充到文件的日期/時間
%~zI - 將 %I 擴充到文件的大小
%~$PATH:I - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴充
到找到的第一個完全合格的名稱。如果環(huán)境變量名
未被定義,或者沒有找到文件,此組合鍵會擴充到
空字符串
可以組合修飾符來得到多重結(jié)果:
%~dpI - 僅將 %I 擴充到一個驅(qū)動器號和路徑
%~nxI - 僅將 %I 擴充到一個文件名和擴展名
%~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名
%~dp$PATH:i - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴充
到找到的第一個驅(qū)動器號和路徑。
%~ftzaI - 將 %I 擴充到類似輸出線路的 DIR
=========================================
注:%0是批處理里面的參數(shù),代表當前運行的批處理的完全路徑。類似的還有%1-%9,分別代表傳遞來的第1-9個參數(shù)
字符計算
=========================================
() - 分組
! ~ - -一元運算符(邏輯非、按位非、取負)
* / % - 算數(shù)運算符(乘、除得商、除得余數(shù),即取余)
+ - - 算數(shù)運算符(加、減)
<< >> - 邏輯移位(左移一位、右移一位)
& - 按位“與”
^ - 按位“異”
| - 按位“或”
= *= /= %= += -= - 賦值
&= ^= |= <<= >>=
,-表達式分隔符(set可一次處理多個表達式)
=========================================
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站題目:Windows下bat腳本-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://jinyejixie.com/article12/ghdgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、關(guān)鍵詞優(yōu)化、小程序開發(fā)、App設(shè)計、自適應網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容