因爲項目中配置項太多,常常有同事在配置xml的時候,講 配置的路徑搞錯,先須要搞一個腳本,能夠自動將路徑截取出來,spa
晚上收集了點資料,暫時先上幾個 bat.net
後面留着 ,具體實現。指針
@echo off set var=0 rem ************循環開始了 :continue set /a var+=1 echo 第%var%次循環 if %var% lss 100 goto continue rem ************循環結束了 echo 循環執行完畢 pause
@echo off set filePath=D:\Program Files\VMware\vmware.exe ::有/P參數時,是須要手動輸入,去掉後,即爲固定。 for %%a in ("%filepath%") do ( set str=%%~pda set var=%%~nxa ) echo.路徑爲:%str% echo.文件爲:%var% pause
::code by lxmxn @ cn-dos.net . ::目的:幫助新手們更好的理解變量字符截取功能. ::Date 2006-12-16 . ::說明:有的變量截取以後值爲空,這是正常的. :: @echo off&setlocal EnableDelayedexpansion ::設置變量var的值: set var=0123456789ABCDEF call :begin for /l %%a in (1,3,15) do ( for /l %%b in (1,4,15) do ( call :printf %%a %%b ) ) call :begin for /l %%a in (1,4,15) do ( for /l %%b in (-1,-3,-15) do ( call :printf %%a %%b ) ) call :begin for /l %%a in (-2,-3,-15) do ( for /l %%b in (1,4,15) do ( call :printf %%a %%b ) ) call :begin for /l %%a in (-1,-4,-15) do ( for /l %%b in (-2,-3,-15) do ( call :printf %%a %%b ) ) pause endlocal&cls&echo. echo 演示結束了,任意鍵退出…… pause>nul goto :eof ::輸出結果: :printf echo %%var:~%1,%2%% 截取以後的字符爲: !var:~%1,%2! goto :eof ::清理屏幕: :begin echo\&pause&cls&echo. echo 變量var的值爲: %var% echo. goto :eof
@echo off set str=123456789 rem 定義一個str字符串爲123456789 echo 第一個字符爲:%str:~0,1% rem 指針爲0,偏移地址爲1,即從第0位開始,取1位 echo 頭兩個字符爲:%str:~0,2% rem 指針爲0,偏移地址爲2,即從第0位開始,取2位 echo 頭5個字符爲:%str:~0,5% rem 指針爲0,偏移地址爲5,即從第0位開始,取5位 echo 去掉最後一個字符後的字符串爲:%str:~0,-1% rem 當"k"爲負值時,咱們能夠這樣理解:從指針開始處開始取其後面全部字符,而後減去後面"abs(k)位"..因此這個句字咱們能夠作以下解釋:從第0位開始取其所有字符 爲:123456789而後從後面減去abs(k)位,因此最後結果爲:12345678 echo 去掉最後3個字符後的字符串爲:%str:~0,-3% rem 該句解釋同上↑ echo 最後一個字符爲:%str:~-1% rem 參數"n,"和"k"均可覺得缺省,缺省"n,"時能夠理解爲:從abs(k)位開始取其所有 echo 倒數第4個及其以後的字符爲:%str:~-4% rem 解釋同上↑ echo 最後一個字符爲:%str:~-1,1% rem n爲負值時,表示從後面開始截取字符,取k位(此時n應從1開始數) echo 最後一個字符爲:%str:~-1,2% rem 解釋同上↑ echo 倒數第4個字符爲:%str:~-4,1% rem 解釋同上↑ echo 倒數第4個及其以後的1個字符爲:%str:~-4,2% rem 解釋同上↑ echo 倒數第4個及其以後的2個字符爲:%str:~-4,3% rem 解釋同上↑ pause
for /f "eol=- tokens=2 delims= " %%i in (result.txt) do echo %%i>>s2.txt