bat 用变量替换文本中字符结果替换为空 10

setFolderName=%cd%rem对文件夹内所有DMO列入LIST.TMP文件中,后续依次进行信息替换for/f"delims=\"%%ain('dir/b/a-... set FolderName=%cd%
rem 对文件夹内所有DMO列入LIST.TMP文件中,后续依次进行信息替换
for /f "delims=\" %%a in ('dir /b /a-d /o-d "%FolderName%\*.dmo"') do (
echo %%a>>list.tmp
)
rem 按照list.tmp文件中的顺序对DMO进行读取
rem ##1
for /f "delims=" %%q in (list.tmp) do (
echo %%q
echo %%~fq
SET LJ=%%~fq
rem 将题头文件另存为TMP
type T.T > tmp.tmp
rem 将源文件题头之后的信息写入到临时文件txt中
for /f "skip=14 delims= tokens=*" %%b in (!LJ!) do (
echo %%b>>txt
)
rem 将上述TXT文件追加的新的题头文件之后
type txt>>tmp.tmp
rem 在原dmo文件中查找三级目录和钢号,并赋值给变量后续使用
for /f " skip=1 tokens=2 delims='" %%i in (!LJ!) do (
echo %%i >e.e
findstr "AB" e.e >nul && (set ML1=%%i)||(
findstr "UB" e.e >nul && (set ML1=%%i)||(
findstr "ST" e.e >nul && (set ML1=%%i)||(
set GH=%%i
)
)
)
)
REM echo !ML1! !GH!
rem 找出原dmo文件中的dmo生成时间。
For /f "tokens=1* delims=:" %%i in ('Type !LJ!^|Findstr /n ".*"') do (
If "%%i"=="6" (
set NUM=%%j
set DT=!NUM:~7,11!
)
If "%%i"=="7" (
set NUM2=%%j
set TM=!NUM2:~7,16!
)
)
REM echo TM=!TM!
REM echo DT=!DT!
rem 进行信息替换。
setlocal enabledelayedexpansion
for /f "eol=* tokens=*" %%k in (tmp.tmp) do (
set v=%%k
set "v=!v:change-t=%TM%!"
set "v=!v:change-d=%DT%!"
Set "v=!v:change-gh=%GH%!"
Set "v=!v:change-ml=%ML1%!"
echo !v!>>$
)
move $ tmp.tmp

替换完以后change-t处都没了。。。
展开
 我来答
折柳成萌
高粉答主

2018-06-15 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6354万
展开全部
@ECHO OFFSET "VAR=ab,dc,cc,ef,gg,AQ,gg"SET "VAR=%VAR:,= %"ECHO %VAR%SET "MAT=gg"ECHO %MAT%call SET "VAR=%%VAR:%MAT%= %%"ECHO %VAR%

call命令会对其参数进行扩展,然后再执行,gg会替换成一个空格
也可以启用变量延迟来实现@echo off&setlocal enabledelayedexpansion.........set "var=!var:%mat%=!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式