濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Windows中的批處理的常用符號(hào)介紹

Windows中的批處理的常用符號(hào)介紹

熱門標(biāo)簽:邢臺(tái)代理外呼系統(tǒng) 辦理400電話_聯(lián)通 外呼系統(tǒng)電銷術(shù)語(yǔ) 科大Ai人工智能電銷機(jī)器人 批量地址在地圖標(biāo)注 宜賓回?fù)芡夂粝到y(tǒng) 電銷機(jī)器人哪家最好 百度地圖標(biāo)注內(nèi)容跳轉(zhuǎn)事件 雙廊地圖標(biāo)注
 1.@ 命令行回顯屏蔽符 
       ECHO OFF可以關(guān)閉掉整個(gè)批處理命令的回顯,但不能關(guān)掉ECHO OFF這個(gè)命令本身,現(xiàn)在我們?cè)贓CHO OFF這個(gè)命令前加個(gè)@,就可以達(dá)到所有命令均不回顯的要求。
      該符號(hào)在批處理中的作用是關(guān)閉當(dāng)前行命令的回顯,也就是不顯示執(zhí)行的是什么命令,只顯示命令的結(jié)果!
      2.> 重定向符        將>之前的命令執(zhí)行的結(jié)果輸出到>之后指定的設(shè)備或文件中去,特定的文件或標(biāo)準(zhǔn)輸出(stdout--默認(rèn)為系統(tǒng)控制臺(tái)),若文件中有數(shù)據(jù)則覆蓋。
      >> 重定向符   
            需要顯示的數(shù)據(jù)追加到指定的輸出文件之中,而不覆蓋原來(lái)的內(nèi)容。
      輸入重定向
            將輸入信息來(lái)源重定向?yàn)橹付ǖ脑O(shè)備或文件,系統(tǒng)默認(rèn)接收鍵盤(pán)輸入。
      >將一個(gè)句柄的輸出寫(xiě)入到另一個(gè)句柄的輸入中
      剛好和>相反,從一個(gè)句柄讀取輸入并將其寫(xiě)入到另一個(gè)句柄輸出中
            常用句柄0、1、2,未定義句柄3-9
            其中的1與2都是代表某個(gè)數(shù)據(jù)流輸入輸出的地址(NT CMD 稱之為句柄,MSDOS稱之為設(shè)備)。
        句柄0:標(biāo)準(zhǔn)輸入stdin,鍵盤(pán)輸入
        句柄1:標(biāo)準(zhǔn)輸出stdout,輸出到命令提示符窗口(console,代碼為CON)
        句柄2:標(biāo)準(zhǔn)錯(cuò)誤stderr,輸出到命令提示符窗口(console,代碼為CON)
        其中的stdin可被重定向,stdout可被>、>>重定向,而stderr在DOS下不可直接重定向,只有通過(guò)ctty或其它命令將系統(tǒng)控制權(quán)轉(zhuǎn)交給其它設(shè)備的方式,來(lái)間接完成。
      注意:如果用在 set /a 語(yǔ)句中,則>表示分組,>>表示邏輯移位。
Dos代碼 
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--重定向) 
rem ===============重定向符>===================== 
rem 將當(dāng)前文件的內(nèi)容輸出到指定的文件tb.txt而非控制臺(tái) 
type d:\test\bak\tt.txt>d:\test\bak\tb.txt 
rem 將特定的字符串"Hello China "(注意最后的空格)寫(xiě)入到指定的文件 
echo Hello China >d:\test\bak\tc.txt 
rem ===============重定向符>>==================== 
echo hello>d:\test\bak\td.txt 
echo world>>d:\test\bak\td.txt 
rem ===============重定向符===================== 
rem 重新設(shè)定當(dāng)前時(shí)間 
echo 2010-01-12>d:\test\bak\te.txt 
date d:\test\bak\te.txt 
del d:\test\bak\te.txt 
rem ===============重定向符===================== 
rem 如果e盤(pán)存在則將其下面的文件信息輸出到te.txt 否則將錯(cuò)誤信息輸出到err.txt 
dir e:\ 1>d:\test\bak\te.txt 2>d:\test\bak\err.txt 
@pause 
     3.| 命令管道符
      管道命令,將|之前的命令的輸出作為|之后的命令的輸入。
      格式:第一條命令 | 第二條命令 [| 第三條命令...]
Dos代碼 
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--管道命令) 
rem =================管道命令|=================== 
rem 將顯示tom001 tom002 
rm d:\test\bak\t001.txt 
echo tom001>d:\test\bak\t001.txt 
echo neil001>>d:\test\bak\t001.txt 
echo tom002>>d:\test\bak\t001.txt 
echo neil002>>d:\test\bak\t001.txt 
echo jerry>>d:\test\bak\t001.txt 
type d:\test\bak\t001.txt | find "tom" 
@pause 
      4.^ 轉(zhuǎn)義字符
      對(duì)特殊符號(hào)"",">",""的前導(dǎo)字符,在命令中他將以上3個(gè)符號(hào)的特殊功能去掉,僅僅把他們當(dāng)成符號(hào)而不使用他們的特殊意義。
      另外,此轉(zhuǎn)義字符還可以用作續(xù)行符號(hào)。
Dos代碼 
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--轉(zhuǎn)義字符) 
rem =================轉(zhuǎn)義字符^================== 
rem 用來(lái)轉(zhuǎn)義 輸出hello china > d:\test\bat\t.txt 
echo hello china ^> d:\test\bat\t.txt 
rem 用來(lái)續(xù)行行 輸出結(jié)果為 hellochinaluchunli 
echo hello^ 
china^ 
luchunli 
@pause 
     5. 組合命令
            允許在一行中使用2個(gè)以上不同的命令,當(dāng)?shù)谝粋€(gè)命令執(zhí)行失敗了,也不影響后邊的命令執(zhí)行。
            語(yǔ)法:第一條命令 第二條命令 [ 第三條命令...]
       組合命令
             用這種方法可以同時(shí)執(zhí)行多條命令,當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不執(zhí)行后面的命令,如果一直沒(méi)有出錯(cuò)則一直執(zhí)行完所有命令
             語(yǔ)法:第一條命令 第二條命令 [ 第三條命令...]
             這個(gè)命令和上邊的類似,但區(qū)別是,第一個(gè)命令失敗時(shí),后邊的命令也不會(huì)執(zhí)行。
      || 組合命令
             用這種方法可以同時(shí)執(zhí)行多條命令,當(dāng)一條命令失敗后才執(zhí)行第二條命令,當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令,如果沒(méi)有出現(xiàn)正確的命令則一直執(zhí)行完所有命令。
             語(yǔ)法:第一條命令 || 第二條命令 [|| 第三條命令...] 
      提示:組合命令和重定向命令一起使用必須注意優(yōu)先級(jí)
  管道命令的優(yōu)先級(jí)高于重定向命令,重定向命令的優(yōu)先級(jí)高于組合命令。
Dos代碼 
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--組合命令) 
rem =================組合命令================== 
dir d:\test\aa dir d:\test\all 
rem k盤(pán)不存在 不影響命令執(zhí)行 
dir k:\ dir d:\test\all 
rem =================組合命令================= 
rem k盤(pán)不存在 程序無(wú)法再執(zhí)行 
dir k:\ dir d:\test\all 
rem =================組合命令||================= 
rem k盤(pán)不存在 執(zhí)行錯(cuò)誤 后面的dir才執(zhí)行 
dir k:\ || dir d:\test\all 
rem ========結(jié)合使用組合命令和重定向命令======== 
dir c:\ dir d:\ > d:\test\bak\t002.txt 
rem 上述命令執(zhí)行結(jié)果只有d盤(pán)下面的目錄到t002.txt去了 
rem c盤(pán)下面的目錄并沒(méi)有按照預(yù)想的輸出,而是打印在了控制臺(tái)上 
rem 修改成為,分別進(jìn)行輸出 
dir c:\ > d:\test\bak\t003.txt dir d:\ >> d:\test\bak\t003.txt 
@pause 
    6."" 雙引號(hào)
    雙引號(hào)允許在字符串中包含空格。
           cd "program files"
           cd progra~1
           cd pro*
           以上三種方法都可以進(jìn)入program files這個(gè)目錄
      7., 逗號(hào)
      逗號(hào)相當(dāng)于空格,在某些情況下","可以用來(lái)當(dāng)做空格使。
            如:dir,c:\
      8.; 分號(hào)
      當(dāng)命令相同時(shí),可以將不同目標(biāo)用";"來(lái)隔離,但執(zhí)行效果不變,如執(zhí)行過(guò)程中發(fā)生錯(cuò)誤,則返回錯(cuò)誤報(bào)告。
             如:dir c:\;d:\;e:\;f:\
Dos代碼 
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--分號(hào)) 
rem ==============分號(hào);================= 
rem c d e f磁盤(pán)都存在,則正確執(zhí)行,顯示各磁盤(pán)下文件目錄 
dir c:\;d:\;e:\;f:\&;
echo --------------------- 
rem z盤(pán)不存在則程序返回錯(cuò)誤,對(duì)于d e f均不再執(zhí)行 
dir z:\;d:\;e:\;f:\&;
@pause 
      9.% 批處理變量引導(dǎo)符
      表示參數(shù),參數(shù)是指在運(yùn)行批處理文件時(shí)在文件名后加的字符串。引用變量用%var%,調(diào)用程序外部參數(shù)用%1至%9等等。
               %0   %1   %2   %3   %4   %5   %6   %7   %8   %9   %*為命令行傳遞給批處理的參數(shù)
           %0 批處理文件本身,包括完整的路徑和擴(kuò)展名
           %1 第一個(gè)參數(shù)
           %9 第九個(gè)參數(shù)
           %* 從第一個(gè)參數(shù)開(kāi)始的所有參數(shù)
  參數(shù)%0具有特殊的功能,可以調(diào)用批處理自身,以達(dá)到批處理本身循環(huán)的目的,也可以復(fù)制文件自身等等。
   %%批處理變量引導(dǎo)符。
      set str=abc
      echo 變量 str 的值為%str%
      %也可以作為轉(zhuǎn)義字符
            echo %% 輸出一個(gè)%
            echo %%%% 輸出兩個(gè)%
Dos代碼     
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--變量引導(dǎo)符) 
rem ==============變量引導(dǎo)符%=================== 
rem %0 代表當(dāng)前文件本身 輸出路徑名和文件名 
echo %0  
rem 可以通過(guò)%0來(lái)拷貝自身(將當(dāng)前文件的內(nèi)容拷貝到tt.txt中去) 
copy %0 d:\test\bak\tt.txt 
rem 可以通過(guò)設(shè)置參數(shù)來(lái)接受輸入的變量,但是不能有空格 
rem 如:set param001 = %1則取不到任何結(jié)果,只能為set param001=%1 
rem 批處理接受參數(shù),如:test.bat tom is boy 
set param001=%1 
set param002=%2 
set param003=%3 
rem 輸出 tom is boy 
echo %param001% %param002% %param003% 
rem %只能接受%1到%9九個(gè)參數(shù),若參數(shù)多云9個(gè)則無(wú)法接受,需使用shift命令,見(jiàn)shift命令講解 
rem % 與 %%的用法 
rem =兩端不可有空格 
set str=abc 
echo str 的值是 %str% 
rem 以下分別輸出一個(gè)% 兩個(gè)% 三個(gè)% 
echo %% 
echo %%%% 
echo %%%%%% 
echo hello>d:\test\bak\t004.txt 
echo china>>d:\test\bak\t004.txt 
echo how>>d:\test\bak\t004.txt 
echo are>>d:\test\bak\t004.txt 
echo you>>d:\test\bak\t004.txt 
rem 依次輸出hello china how are you 
for /f %%i in (d:\test\bak\t004.txt) do echo %%i 
rem 依次輸出a b c 
for %%i in (a b c) do echo %%i 
@pause 
      10.() 括號(hào)  小括號(hào)在批處理編程中有特殊的作用,左右括號(hào)必須成對(duì)使用,括號(hào)中可以包括多行命令,這些命令將被看成一個(gè)整體,視為一條命令行。
   括號(hào)在for語(yǔ)句和if語(yǔ)句中常見(jiàn),用來(lái)嵌套使用循環(huán)或條件語(yǔ)句,其實(shí)括號(hào)()也可以單獨(dú)使用。
        注意:這種多條命令被視為一條命令行時(shí),如果其中有變量,就涉及到變量延遲的問(wèn)題。
       在for和if語(yǔ)句中屬于語(yǔ)句格式的要求
       例如:
           for %%i in (語(yǔ)句1) do(語(yǔ)句2)
             在這條語(yǔ)句中,語(yǔ)句1必須用括號(hào)對(duì)包圍,而語(yǔ)句2的括號(hào)對(duì)則可視情況予以拋棄或保留:如果語(yǔ)句2是單條語(yǔ)句或用、、||等連接符號(hào)連接的多條語(yǔ)句,括號(hào)對(duì)可以拋棄,如果語(yǔ)句2是有邏輯先后關(guān)系的多條語(yǔ)句集合,則必須保留括號(hào)對(duì),并且,多條語(yǔ)句必須斷行書(shū)寫(xiě)。
             if 條件 (語(yǔ)句1) else (語(yǔ)句2)
             如果沒(méi)有else部分,則語(yǔ)句1的括號(hào)對(duì)可有可無(wú);如果有else部分,則語(yǔ)句1中的括號(hào)對(duì)必須保留,此時(shí),語(yǔ)句2中的括號(hào)對(duì)保留與否,和上一點(diǎn)類似。
Dos代碼 
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--括號(hào)) 
rem ==================括號(hào)()==================== 
rem 輸出1 2 3 每個(gè)單獨(dú)占一行 
echo 1 echo 2 echo 3 
echo -------------- 
(     
    echo 1 
    echo 2 
    echo 3 

@pause 
      11.! 感嘆號(hào)
             在變量延遲問(wèn)題中,用來(lái)表示變量,即%var%應(yīng)該表示為!var!,見(jiàn)setlocal介紹。
             在set /a 一元運(yùn)算符中表示邏輯非
      12.: 冒號(hào)
      任何以冒號(hào):開(kāi)頭的字符行, 在批處理中都被視作標(biāo)號(hào), 而直接忽略其后的所有內(nèi)容。
      有效標(biāo)號(hào):冒號(hào)后緊跟一個(gè)以字母數(shù)字開(kāi)頭的字符串,goto語(yǔ)句可以識(shí)別,表示該行是一個(gè)標(biāo)簽,它之后的內(nèi)容是一個(gè)標(biāo)簽段。
      如:test,則表示:test之下的內(nèi)容是標(biāo)簽段,而test是這個(gè)標(biāo)簽段的名,可以用 goto test 、goto :test 跳轉(zhuǎn) 到該標(biāo)簽段或用call :test 調(diào)用該子過(guò)程。
      在 set 語(yǔ)句中:和~同時(shí)使用時(shí),:起到截取字符串的功能。
            假設(shè) set str=abcde,那么,set var=%str:~0,1% 表示截取字符串a(chǎn)bcde的第一個(gè)字符;
      和=同時(shí)使用時(shí),起到替換字符串的功能。
            假設(shè):set str=abc:de,那么,set var=%str:a=1% 表示把字符串a(chǎn)bc:de中的a替換為1
      無(wú)效標(biāo)號(hào):冒號(hào)后緊跟一個(gè)非字母數(shù)字的一個(gè)特殊符號(hào),goto無(wú)法識(shí)別的標(biāo)號(hào),可以起到注釋作用,所以 :: 常被用作注釋符號(hào),其實(shí) :+ 也可起注釋作用。
Dos代碼     
@echo off 
@rem echo 關(guān)閉命令顯示,@關(guān)閉echo off本身的顯示 
rem ==============設(shè)置標(biāo)題title================= 
rem -使用該文件的名稱作為標(biāo)題 
title 測(cè)試bat的文件(test.bat--冒號(hào)) 
rem ===================冒號(hào):==================== 
rem 作為標(biāo)簽段 
set num=3 
set count=4 
set /a flag=num+1 
:: 關(guān)于判斷相等若不加goto end則程序執(zhí)行有問(wèn)題 
if %count%==%flag% goto begin 
goto end 
:begin 
    echo This is begin 
:end 
    echo This is end 
rem 截取/替換字符 
set str=luchunli 
set var001=%str:~2,7% 
rem 輸出 chunli 
echo %var001% 
set var002=%str:u=r% 
rem 輸出 lrchrnli 
echo %var002% 
@pause 
     13.:: 注釋符號(hào)
      表示該行內(nèi)容為注釋內(nèi)容。:: 是個(gè)無(wú)效的標(biāo)簽名,:加上空格同樣可以起到注釋的作用。
      ::的功能和注釋命令rem相同。
      但是還有幾點(diǎn)區(qū)別
            (1)::后的字符行在執(zhí)行時(shí)不會(huì)回顯, 無(wú)論是否用echo on打開(kāi)命令行回顯狀態(tài)。
            (2)rem 注釋語(yǔ)句中的某些命令符號(hào)如重定向符號(hào)和管道符號(hào)還是會(huì)執(zhí)行,而如果用::來(lái)注釋的時(shí)候,與::同處一行的所有命令或符號(hào)直接被命令解釋器忽略掉,無(wú)形中提高了注釋的兼容性和整個(gè)程序的執(zhí)行效率,并且在眾多的命令語(yǔ)句中更顯得醒目,所以,注釋語(yǔ)句推薦使用::的格式。   
            (3)rem 可以用于 config.sys 文件中。
Dos代碼 
rem ==============注釋命令符號(hào)::================= 
rem 以下兩句都不會(huì)執(zhí)行 
rem tt>d:\test\bak\t.txt 
:: ttb>>d:\test\bak\t.txt 
      14.~
      和冒號(hào)(:)一起使用時(shí)起到截取字符串的功能。
      在set /a語(yǔ)句中時(shí),它是一元運(yùn)算符,表示將操作數(shù)按位取反。
            例如,set /a num=~1的執(zhí)行結(jié)果是-2,set /a num=~0的結(jié)果是-1
      用在for語(yǔ)句中,表示增強(qiáng)for的功能,能夠提取到更多的信息。 
            例如:在批處理文件的for語(yǔ)句中:%%~i表示去掉第一對(duì)外側(cè)引號(hào),%%~zi表示獲取文件的大小(以字節(jié)為單位),%%~ni表示獲取文件名,%%~xi表示獲取擴(kuò)展名(帶點(diǎn)號(hào))……它們可以組合使用,如%%~nxi表示獲取文件名和后綴名。
      15.+ - * /
      在 set /a 語(yǔ)句中,這些符號(hào)的含義分別為:加、減、乘、除。例如:set /a num=1+2-3*4/5。
      需要注意的是,這些運(yùn)算符號(hào)遵循數(shù)學(xué)運(yùn)算中的優(yōu)先級(jí)順序:先乘除后加減,有括號(hào)的先算括號(hào),并且,直接忽略小數(shù)點(diǎn),因此,剛才那個(gè)算式的結(jié)果是1而不是0或0.6。
   另外,有可能會(huì)在代碼中看到這樣的寫(xiě)法:set /a num+=1、set /a num-=1、set /a num*=1 和 set /a num/=1,這些表示累加、累減、累乘、累除,步長(zhǎng)都是1,展開(kāi)后的完整寫(xiě)法為:set /a num=num+1、set /a num=num-1、set /a num=num*1 和 set /a num=num/1(set /a 語(yǔ)句中,變量引用可以忽略百分號(hào)對(duì)或感嘆號(hào)對(duì),set /a num=%num%+1 與 set /a num=num+1 等同)
      16.equ neq lss leq gtr geq
                   命令符號(hào)         含義                 英文解釋
                   EQU                 等于                 equal
                   NEQ                 不等于                 not equal
                   LSS                 少于                 less than
                   LEQ                 少于或等于          less than or equal
                   GTR                 大于                  greater than
                   GEQ                 大于或等于          greater than or equal
Dos代碼 
rem ==========equ neq lss leq gtr geq=========== 
set str001=tom     
set str002=tom 
rem equ 輸出equal 
if %str001% equ %str002% echo equal 
       17.點(diǎn)(.)和雙點(diǎn)(..)
               一個(gè)點(diǎn)代表當(dāng)前目錄;兩個(gè)點(diǎn)代表上一級(jí)目錄。
       18.問(wèn)號(hào)(?)
               匹配任意一個(gè)字符
               在路徑中代表任意一個(gè)統(tǒng)配符
               緊跟在/之后表示獲取幫助,如if /? 和 set /?

標(biāo)簽:襄陽(yáng) 重慶 天水 烏海 阜新 麗江 滁州 德州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Windows中的批處理的常用符號(hào)介紹》,本文關(guān)鍵詞  Windows,中的,批處理,的,常用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Windows中的批處理的常用符號(hào)介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Windows中的批處理的常用符號(hào)介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    开封市| 绍兴市| 石景山区| 淄博市| 象州县| 舟山市| 迭部县| 漳州市| 柘荣县| 如皋市| 乌拉特后旗| 新巴尔虎右旗| 昭苏县| 灵台县| 永川市| 武邑县| 依安县| 汽车| 平阳县| 嘉禾县| 恩平市| 太和县| 泰来县| 淮安市| 隆化县| 盈江县| 昌乐县| 新竹县| 都江堰市| 扶绥县| 屯留县| 溆浦县| 平远县| 香格里拉县| 汉川市| 云霄县| 华安县| 宣武区| 北京市| 永胜县| 抚顺市|