1樓:匿名使用者
很簡單呀,如下
@echo off
set /p p=請輸入一個合法的檔案路徑,注意,是合法的:
for /f "delims=" %%i in ("%p%") do (
set filep=%%~dpi
set filen=%%~nxi
)echo 資料夾為%filep%,檔名為%filen%pause
2樓:匿名使用者
@echo off
echo 分離出傳遞引數的路徑名和檔名
call :split "e:\bat\4\4-12\dd.txt"
echo 傳遞完畢
pause
exit /b
:split
set "filepath=%~dp1"
set "filename=%~nx1"
call :seting "%filepath%" "%filename%"
goto :eof
:seting
echo 呼叫方式為下面兩種:
echo 第一種呼叫傳遞過來的路徑:%filepath%名稱:%filename%
echo 第二種呼叫傳遞過來的路徑:%~1名稱:%~2goto :eof
批處理中%%型別變數的字串擷取問題
3樓:來自飛英塔說話詼諧的春風
@echo off
setlocal enabledelayedexpansionset num=12345678
rem 假設需要擷取的字串為12345678for %%a in (%num%) do (set str=%%a
set var=!str:~4!
echo.!var!
) pause
set var=!str:~4! 這就是從第4位開始擷取該字串後的所有字元
4樓:永恆蔚藍
%a:~4%
for迴圈裡的變數吧?不能直接擷取,先用set賦值.另外處理for迴圈變數應該開變數延遲.
批處理 提取 字串中 指定分隔符之間的字元
5樓:
@echo off
setlocal enabledelayedexpansionfor /f "delims=" %%i in ('dir /b *.txt') do (
for /f "delims=" %%a in ('type "%%i"') do (
set "str=%%a?"
set "str=!str:「=!"
set "str=!str:」=!"
set "str=!str:&=?!"
set s=
for /l %%b in (0 1 100) do (if "!str:~%%b,1!" == "?" (echo,!s! & set s=
) else (
set "s=!s!!str:~%%b,1!"
))))>"new_%%i"
)pause
互助互利,請及時點選【採納回答】
批處理 迴圈拆分字串
6樓:匿名使用者
@echo off
set "var=123;245;455;564;545"
:loop
for /f "tokens=1* delims=;" %%a in ("var") do (
echo %%a
set "reminder=%%b"
)if defined reminder goto :loop
bat批處理按字元數量分割文字,例如按照100個字的數量分割儲存.並請說下原理,解釋下**.謝謝了.重分酬謝.
7樓:匿名使用者
@echo off
setlocal enabledelayedexpansionfor /f "tokens=*" %%i in (a.txt) do (
set s=!s!%%i
if "!s:~100,1!" neq "" (set/a n+=1
echo !s:~,100!>>file!n!.txtset s=!s:~100!))
怎麼使用bat批處理命令獲得一個檔案中的多個字串
8樓:匿名使用者
@echo off
setlocal enabledelayedexpansionfor /f "tokens=1,2" %%i in (a.txt) do (
set ip=%%i
set name=%%j
echo ip=!ip! name=!name!)pause
如何用bat批處理實現特殊字串的替換
9樓:匿名使用者
如果沒有附加的已知條件,(比如只會有一處**而再無* 或無連續* 或肯定*前總是有一定種類或固定字元的字首等)只能用if逐個字元判斷是否為* **例子(n0表示替換一處增加字元數):
set "xx=aa**bb"
set "a=111"
set "yy=%xx%"
rem 替換一處後會增加字元數以n0計
set/a n0=2,n1=0,n2=1
:rif "!yy:
~%n1%,1!"=="*" set yy=!yy:
~,%n1%!%a%!yy:
~%n2%!&set/a n1+=n0,n2+=n0
set/a n1+=1,n2+=1
if not "!yy:~%n1%!"=="" goto :recho !yy!
pause
如何用批處理bat將多個txt檔案中的指定字串刪除? 100
bat 批處理 文字修改,如何利用BAT批處理修改檔名及檔案中內容??
rem 複製後請把每行後面的空格去掉 set p str tmp.txt tmp.vbs echo wscript.echo replace createobject scripting.filesystemobject opentextfile tmp.txt readall,vbcrlf for...
求bat批處理檔案,求一個bat批處理檔案
以下 複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的多個資料夾放一起雙擊執行 cls echo off rem 將多個資料夾裡的一個指定名稱的子資料夾裡的最後一張jpg提取 拷貝 複製到同一個指定新資料夾 title z cd d dp0 powershell noprofile ...
批處理字元刪除
1.去掉小數點.在b1 輸入 a1 100,下拉,填充2.去掉逗號 選中b列 格式 單元格 數字 數值 去掉 使用千位分隔符 前面的 呵呵呵,右邊有東西嗎 我這樣理解不知道對了沒,去掉所有的 和,是不是啊 如下了 for f delims a in a.txt do set nr a set nr ...