主頁 > 知識庫 > 批處理BAT替換與截取字符串的用法t1=%a:~3%是什么意思

批處理BAT替換與截取字符串的用法t1=%a:~3%是什么意思

熱門標(biāo)簽:沙依巴克工廠地圖標(biāo)注 江蘇辦理400電話是免費(fèi)的嗎 江蘇手機(jī)外呼系統(tǒng)供應(yīng)商 南京機(jī)器人外呼系統(tǒng)多少錢 福建防封電銷卡辦理套餐 地圖標(biāo)注顯示小區(qū) 滄州外呼增值業(yè)務(wù)線路解決方案 紹興400電話怎么辦理 征服者博物館地圖標(biāo)注點(diǎn)
一、替換用法


復(fù)制代碼 代碼如下:

@echo off
set a=belcome to CMD borld!
set temp=%a:b=w%
echo %temp%
pause


將顯示 welcome to CMD world! 即用w替換了變量a中的b。

二、截取用法
字符串最前面的光標(biāo)所在處表示第0位,第一個(gè)字符后面的光標(biāo)所在表示第一位,依次類推。
為了更好的理解截取用法,下面給出了字符串superhero位數(shù)的相關(guān)示意圖:
s u p e r h e r o

0 1 2 3 …… -3 -2 -1 無表示



復(fù)制代碼 代碼如下:

@echo off
set a=superhero
set temp=%a:~0,5%
echo %temp%
pause


將顯示super 即顯示了變量a的第0位至第5位中包括的所有元素。

若如下

復(fù)制代碼 代碼如下:

@echo off
set a=superhero
set temp=%a:~3%
echo %temp%
pause
[html]

將顯示perhero 即顯示了變量a的第三位以后的所有字符。



若如下

[code]
@echo off
set a=superhero
set temp=%a:~-3%
echo %temp%
pause


將顯示ero 即顯示了變量a的倒數(shù)三個(gè)字符。

若如下

復(fù)制代碼 代碼如下:

@echo off
set a=superhero
set temp=%a:~0,-3%
echo %temp%
pause

將顯示superh 即顯示了變量a的第0位和第-3位中間包含的所有字符。

bat截取字符串實(shí)例

復(fù)制代碼 代碼如下:

@echo off
set str=123456789
echo 第一個(gè)字符為:%str:~0,1%
echo 頭兩個(gè)字符為:%str:~0,2%
echo 頭5個(gè)字符為:%str:~0,5%
echo 去掉最后一個(gè)字符后的字符串為:%str:~0,-1%
echo 去掉最后3個(gè)字符后的字符串為:%str:~0,-3%
echo 第4個(gè)字符為:%str:~3,1%
echo 第4個(gè)及其之后的3個(gè)字符為:%str:~3,4%
echo 最后一個(gè)字符為:%str:~-1%
echo 最后一個(gè)字符為:%str:~-1,1%
echo 最后兩個(gè)字符為:%str:~-1,2%
echo 倒數(shù)第4個(gè)字符為:%str:~-4,1%
echo 倒數(shù)第4個(gè)及其之后的字符為:%str:~-4%
echo 倒數(shù)第4個(gè)及其之后的1個(gè)字符為:%str:~-4,2%
echo 倒數(shù)第4個(gè)及其之后的2個(gè)字符為:%str:~-4,3%
pause

為了說明這個(gè)問題,我在這里把批處理取字符,做下進(jìn)一步的解釋,希望對新手有所啟發(fā)
如下:
echo %var:~n,k%
我們在這里對每個(gè)參數(shù)做個(gè)說明:"%var",即我們要從中要截取字符的字符串." ~ "取字

符標(biāo)志符(我是這么理解的),"n" 我們將其理解為指針,"k"我們將其理解為偏移地址.(注

:指針和偏移地址都是從零開始數(shù)的)
我們還是用namejm版主的例子做下說明:

復(fù)制代碼 代碼如下:

@echo off
set str=123456789
rem 定義一個(gè)str字符串為123456789
echo 第一個(gè)字符為:%str:~0,1%
rem 指針為0,偏移地址為1,即從第0位開始,取1位
echo 頭兩個(gè)字符為:%str:~0,2%
rem 指針為0,偏移地址為2,即從第0位開始,取2位
echo 頭5個(gè)字符為:%str:~0,5%
rem  指針為0,偏移地址為5,即從第0位開始,取5位
echo 去掉最后一個(gè)字符后的字符串為:%str:~0,-1%
rem 當(dāng)"k"為負(fù)值時(shí),我們可以這樣理解:從指針開始處開始取其后面所有字符,然后減去
后面"abs(k)位"..所以這個(gè)句字我們可以做如下解釋:從第0位開始取其全部字符
為:123456789然后從后面減去abs(k)位,所以最后結(jié)果為:12345678
echo 去掉最后3個(gè)字符后的字符串為:%str:~0,-3%
rem  該句解釋同上↑
echo 最后一個(gè)字符為:%str:~-1%
rem  參數(shù)"n,"和"k"都可以為缺省,缺省"n,"時(shí)可以理解為:從abs(k)位開始取其全部
echo 倒數(shù)第4個(gè)及其之后的字符為:%str:~-4%
rem        解釋同上↑
echo 最后一個(gè)字符為:%str:~-1,1%
rem  n為負(fù)值時(shí),表示從后面開始截取字符,取k位(此時(shí)n應(yīng)從1開始數(shù))
echo 最后一個(gè)字符為:%str:~-1,2%
rem  解釋同上↑
echo 倒數(shù)第4個(gè)字符為:%str:~-4,1%
rem  解釋同上↑
echo 倒數(shù)第4個(gè)及其之后的1個(gè)字符為:%str:~-4,2%
rem  解釋同上↑
echo 倒數(shù)第4個(gè)及其之后的2個(gè)字符為:%str:~-4,3%
rem 解釋同上↑
pause

您可能感興趣的文章:
  • 使用BAT批處理執(zhí)行sql語句的代碼
  • BAT批處理、VBScript批量安裝字體腳本分享
  • 批處理(bat)命令學(xué)習(xí)的一些總結(jié)
  • 批處理bat命令 獲取當(dāng)前盤符和當(dāng)前目錄和上級目錄的代碼
  • 批處理(bat)實(shí)現(xiàn)全盤搜索指定文件獲取其完整路徑方法大全
  • 批處理BAT創(chuàng)建快捷方式

標(biāo)簽:小程序 湘西 烏魯木齊 陽泉 香港 宜賓 巴中 吳忠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《批處理BAT替換與截取字符串的用法t1=%a:~3%是什么意思》,本文關(guān)鍵詞  批處理,BAT,替換,與,截取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《批處理BAT替換與截取字符串的用法t1=%a:~3%是什么意思》相關(guān)的同類信息!
  • 本頁收集關(guān)于批處理BAT替換與截取字符串的用法t1=%a:~3%是什么意思的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章