bat-入門系列-01-變量

今天繼續說說bat中的變量

包括實現數學計算

實現交互,變量的值由用戶輸入

實現字符串截取(類似VBA中的Mid)

  • 實現數學運算
    • 主要使用set /a,支持+,-,*,/,其餘就不多介紹了
    • bat計算過程支持整數運算,出現小數時,會出現bug
    • 對於比較複雜的運算,不建議使用bat,可以調用vbs解決
@echo off
set a=100
set b=200
set /a c=%a%*%b%
set /a d=500-1555
echo a=%a%
echo b=%b%
echo c=%c%
echo d=%d%
pause

輸出結果

bat-入門系列-01-變量

  • 實現交互,由用戶輸入變量的值
    • 使用set /p
    • 可以賦值數值或者字符都可以
@echo off
SET /p d=Please enter the value for d:
Echo d=%d%
SET /p c=Please enter the value for c:
Echo c=%c%
pause

輸出結果

bat-入門系列-01-變量

  • 實現字符串截取
    • 格式為:%a:~m,n%
    • 其中% %表示對變量進行截取操作,a為變量名
    • :~都可以理解為分隔符,m為第一位的偏移量(缺省為0),n為截取位數(缺省為所有)
    • 與VBA中的Mid的一個區別是,Mid中m第一位為1,n的含義一樣
    • 當m為負值時,表示從字符的末尾開始數,最後一位為-1
    • 當n為負值時,那麼從m的字符開始到n的那個字符,但不包括n對應的該字符
@echo off
set a=qwertyui
set b=%a:~1,2%
set c=%a:~,3%
set d=%a:~1%
set e=%a:~-2%
set f=%a:~1,-3%
echo a=%a%
echo b=%b%
echo c=%c%
echo d=%d%
echo e=%e%
echo f=%f%
pause

輸出結果


bat-入門系列-01-變量


分享到:


相關文章: