bat批處理之字符串操作的實現(xiàn)
更新時間:2022年03月15日 11:06:53 作者:pengcao89
任何一種語言對于字符串的操作都是重中之重,本文主要介紹了bat批處理之字符串操作的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
通常情況下,任何一種語言對于字符串的操作都是重中之重。這里稍微介紹下bat批處理中對于字符串的操作。
對于字符串的截取
set testStr=abcdefghijklmnopqrstuvwxyz0123456789 echo 原始字符串 %testStr% echo 提取前五個字符串:%testStr:~0,5% echo 提取最后五個字符串:%testStr:~-5% echo 提取第一個到倒數(shù)第六個字符串:%testStr:~0,-5% echo 提取五個字符串,從第四個字符開始:%testStr:~3,5%
字符串的替換
echo 替換之前:%repStr% echo 替換后:%repStr:aa=zz% echo repStr=%repStr% set "repStr=%aa:aa=zz%" echo repStr=%repStr%
字符串合并
set aa=aabbcc set bb=ddeeff echo %aa%%bb% echo aa=%aa% echo bb=%bb% set "aa=%aa%%bb%" echo aa=%aa%
字符串查找
Setlocal ENABLEDELAYEDEXPANSION ::啟用命令擴展,參加setlocal /?命令 set str1=This is a test string set ch1=t ::注意,這里是區(qū)分大小寫的! set str=%str1% ::復制字符串,用來截短,而不影響源字符串 :next if not "%str%"=="" ( set /a num+=1 if "!str:~0,1!"=="%ch1%" goto last ::比較首字符是否為要求的字符,如果是則跳出循環(huán) set "str=%str:~1%" goto next ) set /a num=0 ::沒有找到字符時,將num置零 :last echo 字符'%ch1%'在字符串"%str1%"中的首次出現(xiàn)位置為%num% echo 輸出完畢,按任意鍵退出&&pause>nul&&exit
這里直接貼上對應的bat批處理代碼及其運行結果
bat 批處理代碼
echo off echo 完全路徑:%0 echo 去掉引號:%~0 echo 所在分區(qū):%~d0 echo 所在路徑:%~p0 echo 文件名:%~n0 echo 拓展名:%~x0 echo 文件屬性:%~a0 echo 修改時間:%~t0 echo 文件大小:%~z0 echo %d0% echo dp0 : %~dp0 echo sdp0:%~dp0 echo fo:%~f0 echo cd %cd% rem set 目標字符串=%源字符串:~起始值,截取長度% set testStr=abcdefghijklmnopqrstuvwxyz0123456789 echo 原始字符串 %testStr% echo 提取前五個字符串:%testStr:~0,5% echo 提取最后五個字符串:%testStr:~-5% echo 提取第一個到倒數(shù)第六個字符串:%testStr:~0,-5% echo 提取五個字符串,從第四個字符開始:%testStr:~3,5% echo ================================================ echo ================ ? ?字符串替換 ? ? ? =========== echo ================================================ set repStr=aaabbbcccdddeeefff echo 替換之前:%repStr% echo 替換后:%repStr:aa=zz% echo repStr=%repStr% set "repStr=%aa:aa=zz%" echo repStr=%repStr% echo ================================================ echo ================ ? ?字符串合并 ? ? ? =========== echo ================================================ set aa=aabbcc set bb=ddeeff echo %aa%%bb% echo aa=%aa% echo bb=%bb% set "aa=%aa%%bb%" echo aa=%aa% Setlocal ENABLEDELAYEDEXPANSION ::啟用命令擴展,參加setlocal /?命令 set str1=This is a test string set ch1=t ::注意,這里是區(qū)分大小寫的! set str=%str1% ::復制字符串,用來截短,而不影響源字符串 :next if not "%str%"=="" ( set /a num+=1 if "!str:~0,1!"=="%ch1%" goto last ::比較首字符是否為要求的字符,如果是則跳出循環(huán) set "str=%str:~1%" goto next ) set /a num=0 ::沒有找到字符時,將num置零 :last echo 字符'%ch1%'在字符串"%str1%"中的首次出現(xiàn)位置為%num% echo 輸出完畢,按任意鍵退出&&pause>nul&&exit
相應的運行結果
到此這篇關于bat批處理之字符串操作的實現(xiàn)的文章就介紹到這了,更多相關批處理字符串操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關文章
用批處理實現(xiàn)映射盤網(wǎng)絡盤為固定盤符,請更改沖突的硬盤盤符
用批處理實現(xiàn)映射盤網(wǎng)絡盤為固定盤符,請更改沖突的硬盤盤符...2007-03-03Windows下使用批處理實現(xiàn)啟動關閉mysql
這篇文章主要介紹了Windows下使用批處理實現(xiàn)啟動關閉mysql,其主要核心思想是將mysql注冊成為windows下的服務,推薦給大家,有需要的下伙伴可以參考下,其實很多的php集成環(huán)境都是這么實現(xiàn)的。2015-03-03