国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

批處理(bat)命令學(xué)習(xí)的一些總結(jié)

2020-06-09 13:59:25
字體:
供稿:網(wǎng)友

一、set 篇:

1、set(無開關(guān))

set .=test
set.
::若一個變量以:/.這三個與路徑相關(guān)的符號開頭,用set查看以該字符打頭的變量時可以省去一個空格。
echo %tmp:*/=%
::顯示tmp變量第一個/之后的部分,其余變量替換與變量偏移太簡單不解釋

2、set /p 變量名=注釋<設(shè)備名
當(dāng)設(shè)備名為文件時,因為文件中換行符與回車符伴生,所以只取文件第一行作為var變量的內(nèi)容,但是不超過1024字節(jié);而當(dāng)設(shè)備名為nul或者com3時,只顯示不換行的注釋,這種情況下可以省略變量名(如:set /p=Hello World

3、set /a,最具技巧的命令之一

set /a n=1,m=2
::同時把不同數(shù)值分別賦予兩個變量
set /a a=b=c=d=e=f=1
::用一條算式為多個變量同時賦值
set /a "1/n" 2>nul||echo 變量n非純數(shù)字或為零
::利用分母不能為0的特征,用set判斷一個變量是否為非零純數(shù)字
set n=1
set /a "n=!!123|!!234&!!0"
::位運算,!、^、|和&常用于布爾運算,而邏輯位移常用于二進制運算(>>還可判斷數(shù)值是否為負,見下例)
set /a n=-100,"1/(-100>>31)"||echo 變量n為負數(shù)
::順應(yīng)cmd中的正負數(shù)存儲特點,可以用邏輯位移實現(xiàn)判斷正負數(shù)的“布爾運算”,可以衍生出繁多的算法,比如稍加改動就可以比較兩數(shù)甚至多個數(shù)的大小
set /a n=~-100
::利用~將所有二進制的1、0逆轉(zhuǎn),負號在后或在前配合可以實現(xiàn)簡單加1或減1,這個技巧主要用來減少括號的使用,因為~號與負號的優(yōu)先級都是高于算數(shù)運算符的
set /a test=%test:~5,1%-0
::可以避免%test:~5,1%為空時出錯的情況
set /a 十進制=0x十六進制,十進制=0八進制
::快速將十六進制與八進制數(shù)轉(zhuǎn)為十進制,可惜沒有二進制...
:loop
set /a n+=1001
echo %n:~-3%
goto loop
::這比常規(guī)的補位方法更優(yōu)越
for %%a in (test 123 ABC test @#$ 123) do set /a ".%%a+=1"
set .|findstr /v /e "=1"
::經(jīng)典的獲取字符串的重復(fù)次數(shù)的方案

二、for 篇:

這是批處理中最強的內(nèi)部命令,沒有之一!

1、for(無開關(guān))

代碼如下:
for %%a in (c:/*.*) do echo %%a
::顯示C盤根目錄下所有非隱藏、非系統(tǒng)屬性文件
for %%a in (./..) do echo %%~nxa
::顯示上一級目錄的文件夾名
set str=123,234,345
set str=%str:,=/%
for %%a in (%str%/..) do echo %%~nxa
::用前一個技巧,巧取倒數(shù)第二段字符串,與for /f "delims=/"相映成趣
for %%a in (*.txt) do (
for /f "useback delims=" %%b in ("%%a") do (
set str=%%b
for %%c in ("!str:分隔符=" "!") do (
for /f "tokens=1*" %%d in (%%c) do echo %%~d
)
)
)

::不帶參數(shù)的for與for /f配合,威力極大,僅舉此一例

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 迁西县| 柘城县| 西乌珠穆沁旗| 开封市| 三亚市| 鹤壁市| 长岭县| 南投县| 台东县| 浦北县| 获嘉县| 绩溪县| 吉安市| 原阳县| 蛟河市| 鄂尔多斯市| 门头沟区| 平乡县| 南漳县| 五寨县| 巴里| 星子县| 休宁县| 江都市| 彩票| 威海市| 昭苏县| 新余市| 桃源县| 稷山县| 吉林市| 铜鼓县| 通许县| 南丰县| 遂昌县| 昌邑市| 肇州县| 宣威市| 荥阳市| 甘孜| 博湖县|