dos中特殊符号命令的应用
生活随笔
收集整理的這篇文章主要介紹了
dos中特殊符号命令的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
DOS中其他特殊符號(批處理常用):
@
\\隱藏命令的回顯。
~
\\在for中表示使用增強的變量擴展;
在set中表示使用擴展環境變量指定位置的字符串;
在set/a中表示按位取反。
%
\\使用兩個%包含一個字符串表示引用環境變量。比如一個%time%可以擴展到當前的系統時間;
單個%緊跟0-9的一個數字表示引用命令行參數;
用于for中表示引用循環變量;
連續的兩個%表示執行時脫為一個%。
^
\\取消轉義字符,即將所有轉義字符的轉義作用關閉。
比如要在屏幕顯示一些特殊的字符,比如> >> | ^等時,
就可以在其前面加一個^符號來顯示這個^后面的字符了,^^就是顯示一個^,^|就是顯示一個|字符了;
在set/a中是按位異;
在findstr/r的[]中表示不匹配指定的字符集。
&
\\命令連接字符。比如我要在一行文本上同時執行兩個命令,就可以用&命令連接這兩個命令;
在set/a中是按位與。
*
\\代表任意個任意字符,就是我們通常所說的”通配符”;
比如想在c盤的根目錄查找c盤根目錄里所有的文本文件(.txt),那么就可以輸入命令”dir c:\*.txt”;
在set/a中是乘法。比如”set/a x=4*2″,得到的結果是8;
在findstr/r中表示將前一個字符多次匹配。
()
\\命令包含或者是具有優先權的界定符吧,比如for命令要用到這個(),我們還可以在if,echo等命令中見到它的身影;
-
\\范圍表示符,比如日期的查找,for命令里的tokens操作中就可以用到這個字符;
在findstr/r中連接兩個字符表示匹配范圍;
-跟在某些命令的/后表示取反向的開關。
+
\\主要是在copy命令里面會用到它,表示將很多個文件合并為一個文件,就要用到這個+字符了;
在set/a中是加法。
|
\\管道符。就是將上一個命令的輸出,作為下一個命令的輸入.”dir /a/b | more”就可以逐屏的顯示dir命令所輸出的信息;
在set/a中是按位或;
在幫助文檔中表示其前后兩個開關、選項或參數是二選一的。
:
\\標簽定位符,可以接受goto命令所指向的標簽。比如在批處理文件里面定義了一個”:begin”標簽,用”goto begin”命令就可以轉到”:begin”變遷后面來執行批處理命令了。
/
\\表示其后的字符(串)是命令的功能開關(選項)。比如”dir /s/b/a-d”表示”dir”命令指定的不同的參數;
在set/a中表示除法。
>
\\命令重定向符,將其前面的命令的輸出結果重新定向到其后面的設備中去,后面的設備中的內容被覆蓋。
比如可以用”dir > lxmxn.txt”將”dir”命令的結果輸出到”lxmxn.txt”這個文本文件中去;
在findstr/r中表示匹配單詞的右邊界,需要配合轉義字符\使用。
>>
\\命令重定向符。將其前面的命令的輸出結果重新定向到其后面的設備中去,后面設備中的內容沒有被覆蓋。
<
\\將其后面的文件的內容作為其前面命令的輸入。
在findstr/r中表示匹配單詞的左邊界,需要配合轉義字符\使用。
=
\\賦值符號,用于變量的賦值。比如”set a=windows”的意思意思是將”windows”這個字符串賦給變量”a”;
在set/a中表示算術運算,比如”set /a x=5-6*5″。
\
\\這個”\”符號在有的情況下,代表的是當前路徑的根目錄.比如當前目錄在c:\windows\system32下,那么你”dir \”的話,就相當與”dir c:\”
在findstr/r中表示正則轉義字符。
”
在for/f中表示將它們包含的內容當作命令行執行并分析其輸出;
在for/f “usebackq”中表示將它們包含的字符串當作字符串分析。
.
\\
在路徑的\后緊跟或者單獨出現時:
一個.表示當前目錄;
兩個.表示上一級目錄;
在路徑中的文件名中出現時:
最后的一個.表示主文件名與擴展文件名的分隔。
&&
\\連接兩個命令,當&&前的命令成功時,才執行&&后的命令;
||
\\連接兩個命令,當||前的命令失敗時,才執行||后的命令。
$
\\在findstr命令里面表示一行的結束。
“
在for/f中表示它們所包含的內容當作命令行執行并分析它的輸出。
[]
在幫助文檔表示其中的開關、選項或參數是可選的;
在findstr/r中表示按其中指定的字符集匹配。
?
\\在findstr/r中表示在此位置匹配一個任意字符;
?在路徑中表示在此位置通配任意一個字符;
緊跟在/后表示獲取命令的幫助文檔。
!
\\當啟用變量延遲時,使用!!將變量名擴起來表示對變量值的引用;
在set /a中表示邏輯非。比如set /a a=!0,這時a就表示邏輯1。
0×05附錄
其實除了這些特殊符號,還有很多命令都值得掌握,比如for命令。
很多人都認為for命令只能在低權限下查看文件目錄下的文件夾。
for /d %i in (d:\www\web\*) do @echo %i?
其實它還有很多用法。如果運用起來效果極佳。
for /r d:\wwwroot\web\ %i in (*.asp) do @echo %i >>c:\windows\temp\1.txt?
——這個是把 d:\wwwroot\web\目錄所有asp文件 列出來 ,然后保存在c:\windows\temp\下的1.txt?
for /d %i in (d:\wwwroot\web\*) do @echo %i?
——這句是顯示d:\wwwroot\web 下所有文件,包括文件夾。?
for /r d:\wwwroot\web\ %i in (*.*) do @echo %i >>d:\wwwroot\web1\1.txt?
——*.* DOS下是所有的意思 也就是說顯示d:\wwwroot\web1\所有文件,然后保存在d:\wwwroot\web1\1.txt?
*.*為任意后綴名,如果改成(*.exe)會把目錄與下面的子目錄的全部EXE文件列出?
for /f %c in (d:\wwwroot\web\coon.asp) do @echo %c?
——查看coon.ASP文件內容?
for /d %i in (???) do @echo %i?
——把當前路徑下文件夾的名字只有1-3個字母的打出來?
type F:\VIP\qq1369\database\#Collection.resx echo >>c:\windows\temp\1.mdb?
——通過for或者type讀取對方的數據庫配置文件,但數據庫修改了后綴名,例如為.resx?
使我們不能下載,這時用type命令把數據庫復制到c:\windows\temp\下面,然后下載!?
/c ?for /r F:\VIP\qq1369 %i in (*) do @echo %i ? ?列出所有F:\VIP\qq1369文件?
甚至在系統權限下:
For /F “tokens=2,3*” %i in (‘tasklist /nh ^| find “lsass.exe”‘) do ntsd -c q -p %iFor /F “tokens=2,3*” %i in (‘tasklist /nh ^| find “lsass.exe”‘) do ntsd -c q -p %i?
普通級別強殺“lsass.exe”進程。?
For /f “tokens=1,2″ %%i in (‘tasklist’) do (echo %%i | findstr /i “stormliv.exe” 1>nul 2>nul && (ntsd -c q -p %%j & set qq=%%i))?
驅動級強行殺死所有名為“stormliv.exe”的進程(可以干掉網維等產品)。
總結
以上是生活随笔為你收集整理的dos中特殊符号命令的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批处理如何清除文本文档里面的重复行
- 下一篇: BAT脚本编写要点