批處理編程(2)特殊符號(hào)
?
?
在命令行下有些符號(hào)是不允許使用的,但有些符號(hào)卻有著特殊的意義。
?
?
1、符號(hào)(@)
?
@在批處理中的意思是關(guān)閉當(dāng)前行的回顯。我們從上面知道用命令echo off可以關(guān)掉整個(gè)批處理的命令回顯但卻不能不顯示echo off這個(gè)命令。現(xiàn)在我們在這個(gè)命令前加上@這樣echo off這一命令就被@關(guān)閉了回顯從而達(dá)到所有命令均不回顯得要求
?
?
2、符號(hào)(>)
?
>的意思是傳遞并覆蓋。他所起的作用是將運(yùn)行后的回顯結(jié)果傳遞到后面的范圍(后面可是文件也可是默認(rèn)的系統(tǒng)控制臺(tái))例:
?
文件1.txt的文件內(nèi)容為:
1+1
使用命令c:\>dir *.txt >1.txt
這時(shí)候1.txt的內(nèi)容如下
驅(qū)動(dòng)器 C 中的卷沒有標(biāo)簽。
卷的序列號(hào)是 301A-1508
C:\ 的目錄
2003-03-11 14:04 1,005 FRUNLOG.TXT
2003-04-04 16:38 18,598,494 log.txt
2003-04-04 17:02 5 1.txt
2003-03-12 11:43 0 aierrorlog.txt
2003-03-30 00:35 30,571 202.108.txt
5 個(gè)文件 18,630,070 字節(jié)
0 個(gè)目錄 1,191,542,784 可用字節(jié)
?
>將命令執(zhí)行的結(jié)果覆蓋了原始的文件內(nèi)容。
在傳遞給控制臺(tái)的時(shí)候程序?qū)⒉粫?huì)有任何回顯(注意:這里的回顯跟echo off關(guān)掉的回顯不是同一概念。Echo off關(guān)掉的是輸入命令的回顯,這里的回顯是程序執(zhí)行中或后的回顯)例:
?
C:\>dir *.txt >nul (注意不是null)
程序?qū)]有任何顯示也不會(huì)產(chǎn)生任何痕跡。
?
?
3、符號(hào)(>>)
?
符號(hào)>>的作用與符號(hào)>相似,但他們的區(qū)別在于>>是傳遞并在文件末尾追加>>也可將回顯傳遞給控制臺(tái)(用法同上)例:
?
文件1.txt內(nèi)同為:
1+1
使用命令c:\>dir *.txt >>1.txt
這時(shí)候1.txt的內(nèi)容如下
1+1
驅(qū)動(dòng)器 C 中的卷沒有標(biāo)簽。
卷的序列號(hào)是 301A-1508
C:\ 的目錄
2003-03-11 14:04 1,005 FRUNLOG.TXT
2003-04-04 16:38 18,598,494 log.txt
2003-04-04 17:02 5 1.txt
2003-03-12 11:43 0 aierrorlog.txt
2003-03-30 00:35 30,571 202.108.txt
5 個(gè)文件 18,630,070 字節(jié)
0 個(gè)目錄 1,191,542,784 可用字節(jié)
?
>>將命令執(zhí)行的結(jié)果覆加在了原始的文件內(nèi)容后面。
?
?
4、符號(hào)(|)
?
|是一個(gè)管道傳輸命令意思是將上一命令執(zhí)行的結(jié)果傳遞給下一命令去處理。例:
?
C:\>dir c:\|find "1508"
卷的序列號(hào)是 301A-1508
?
以上命令的意思為查找c:\的所有并發(fā)現(xiàn)1508字符串。Find的用法請用 find /?自行查看
在不使用format的自動(dòng)格式化參數(shù)的時(shí)候我是這樣來自動(dòng)格式化盤片的
?
echo y|format a: /s /q /v:system
?
用過format命令的人都知道format有一個(gè)交互對化過程,要使用者輸入y來確定當(dāng)前的命令是否被執(zhí)行。在這個(gè)命令前加上echo y并用管道傳輸符|將echo執(zhí)行的結(jié)果y傳遞給format從而達(dá)到手工輸入y的目的(這條命令有危害性,測試的時(shí)候請謹(jǐn)慎)
?
?
5、符號(hào)(^)
?
^ 是對特殊符號(hào) > 、<、 &、的前導(dǎo)字符。在命令中他將以上的3個(gè)符號(hào)的特殊動(dòng)能去掉僅僅只吧他們當(dāng)成符號(hào)而不使用他們的特殊意義。例:
?
c:\>echo test ^> 1.txt
test > 1.txt
?
從上面可以看出并沒有把test寫入文件1.txt而是將test >1.txt 當(dāng)字符串顯示了出來。這個(gè)符號(hào)在遠(yuǎn)程構(gòu)建批處理的時(shí)候很有效果。
?
?
6、符號(hào)(&)
?
&符號(hào)允許在一行中使用2個(gè)以上不同的命令,當(dāng)?shù)谝粋€(gè)命令執(zhí)行失敗將不影響第2個(gè)命令的執(zhí)行。例:
?
c:\> dir z:\ &dir y:\ &dir c:\
?
以上的命令將會(huì)連續(xù)顯示z: y: c:盤內(nèi)的內(nèi)容不理會(huì)該盤符是否存在。
?
?
7、符號(hào)(&&)
?
&&符號(hào)也是允許在一行中使用2個(gè)以上不同的命令,當(dāng)?shù)谝粋€(gè)命令執(zhí)行失敗后后續(xù)的命令將不會(huì)再被執(zhí)行。例:
?
c:\> dir z:\ &&dir y:\ &&dir c:\
?
以上的命令將會(huì)提示檢查是否存在z:盤如果存在則執(zhí)行,如果不存在則停止執(zhí)行所有的后續(xù)命令
?
?
8、符號(hào)(" ")
?
" "符號(hào)允許在字符串中包含空格。進(jìn)入一個(gè)特殊的目錄可以用如下方法例:
?
c:\>cd "Program Files"
c:\>cd progra~1
c:\>cd pro*
?
以上方法都可以進(jìn)入Program Files目錄
?
?
9、符號(hào)(,)
?
,符號(hào)相當(dāng)于空格。在某些特殊的情況下可以用,來代替空格使用。例:
?
c:\>dir,c:\
?
?
10、符號(hào)(;)
?
;符號(hào)當(dāng)命令相同的時(shí)候可以將不同的目標(biāo)用;隔離開來但執(zhí)行效果不變。如執(zhí)行過程中發(fā)生錯(cuò)誤則只返回錯(cuò)誤報(bào)告但程序還是會(huì)繼續(xù)執(zhí)行。例:
?
DIR C:\;D:\;E:\F:\
?
以上的命令相當(dāng)于
DIR C:\
DIR D:\
DIR E:\
DIR F:\
?
當(dāng)然還有些特殊的符號(hào)但他們的使用范圍很小我就不再這里一一的說明了。
?
?