标题: [ 新手习题 2 ] 批处理字符替换 [打印本页]
作者: wxcute 时间: 2008-11-7 18:40 标题: [ 新手习题 2 ] 批处理字符替换
有一文本内容如下:
a.txt- 你他娘的是谁?他娘的我不告诉你。
- 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
复制代码
论坛可是不允许用不文明用语的,请大家先把“他娘的”换成“TND”输出一遍,最后去掉这个不雅的词再输出一遍。
让大家都文明起来。
就算你看过别人的帖子了,你也可以再写一个。当然复制就没意义了,一定要自己写。
看似简单的题目,如果你自己写了,可能会发现你的代码原来有错,这样你又可以多学一样本领——改错。
[ 本帖最后由 wxcute 于 2008-11-17 11:31 编辑 ]
作者: sylovanas 时间: 2008-11-7 21:03
@IF NOT DEFINED DEBUG @ECHO OFF
FOR /F "TOKENS=*" %%A IN (A.TXT) DO (
SETLOCAL ENABLEDELAYEDEXPANSION
SET "VAR=%%A"
SET "VAR=!VAR:他娘的=TND!"
ECHO !VAR!
ENDLOCAL
)
FOR /F "TOKENS=*" %%A IN (A.TXT) DO (
SETLOCAL ENABLEDELAYEDEXPANSION
SET "VAR=%%A"
SET "VAR=!VAR:他娘的=!"
ECHO !VAR!
ENDLOCAL
)
作者: wxcute 时间: 2008-11-8 10:09 标题: 回二楼
不错。
我想问下,你为什么每个P都加 “@IF NOT DEFINED DEBUG” 这句呢?
作者: sylovanas 时间: 2008-11-8 11:03
除错用,
我有在写很多行等级不高的批处理
有些时候要除错必须要检查到哪一行出问题
所以当有变数debug时就会显示执行的行
这样除错比较快
[ 本帖最后由 sylovanas 于 2008-11-8 11:05 编辑 ]
作者: Batcher 时间: 2008-11-8 11:52 标题: 回复 2楼 的帖子
SETLOCAL ENABLEDELAYEDEXPANSION
SET "VAR=%%A"
这两行应交换位置,具体原因请参考:处理特殊字符的几种方法
http://bbs.bathome.net/thread-1224-1-3.html
作者: Batcher 时间: 2008-11-8 11:56 标题: 回复 4楼 的帖子
能否结合一个具体例子讲解一下?
作者: sylovanas 时间: 2008-11-8 12:43
- @IF NOT DEFINED DEBUG @ECHO OFF
-
- SET "SYSTEM=%SYSTEMROOT%\SYSTEM32"
- IF EXIST .\TEMP\* DEL .\TEMP\* /Q >NUL 2>&1
- IF EXIST LOG.TXT DEL LOG.TXT /Q >NUL 2>&1
- SWREG QUERY "HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES" | SED "/.*SERVICES\\/I!d;s/.*SERVICES\\//I;s/$/\x22/" > .\TEMP\TEMP00
- GREP -Fviwf .\DAT\SERVICE.DAT .\TEMP\TEMP00 > .\TEMP\SERVICE01
-
- SED "s/\x22$//" .\TEMP\SERVICE01 > .\TEMP\SERVICE02
- ECHO AppMgmt>>.\TEMP\SERVICE02
- GREP -q "." .\TEMP\SERVICE02 && FOR /F "TOKENS=*" %%A IN (.\TEMP\SERVICE02) DO CALL :SER_CHK "%%A"
- GOTO END
-
- :SER_CHK
- IF "%~1"=="" GOTO:EOF
- IF NOT DEFINED SYSTEMB SET "SYSTEMB=%SYSTEM:\=\\%"
- IF NOT DEFINED SYSTEMROOTB SET "SYSTEMROOTB=%SYSTEMROOT:\=\\%"
- IF NOT DEFINED PROGRAMB SET "PROGRAMB=%PROGRAMFILES:\=\\%"
- IF ABC
-
- SWREG QUERY "HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES\%~1" | MTEE /+ .\TEMP\DEBUG01 > .\TEMP\SER_CHK01
- GREP -Fiq " imagepath " .\TEMP\SER_CHK01 || GOTO:EOF
- SET "SER0=S9"
- SET "SER1=%~1"
- SET "SER2=ERR"
- FOR /F "TOKENS=*" %%A IN ('SED -r "/^ START\t.*\t/I!d;s///;s/ .*//" .\TEMP\SER_CHK01') DO SET "SER0=S%%A"
- FOR /F "TOKENS=*" %%A IN ('SED -r "/^ DISPLAYNAME\t.*\t/I!d;s///" .\TEMP\SER_CHK01') DO SET "SER1=%%A"
- SED "/^ imagepath\t.*\t/I!d;s//\t/" .\TEMP\SER_CHK01 > .\TEMP\SER_CHK02
- SED "s/\t\\/\t/;s/\t??\\/\t/;s/\tSYSTEMROOT/\t%SYSTEMROOTB%/I;s/\tSYSTEM32/\t%SYSTEMB%/I;s/\t%%SYSTEMROOT%%/\t%SYSTEMROOTB%/I;s/\t%%PROGRAMFILES%%/\t%PROGRAMB%/I" .\TEMP\SER_CHK02 > .\TEMP\SER_CHK03
- GREP -iq "%SYSTEMB%\\SVCHOST\.EXE" .\TEMP\SER_CHK03 && CALL :SVC_CHK "%~1"
- IF /I "%SER2%"=="ERR" FOR /F "TOKENS=*" %%A IN (.\TEMP\SER_CHK03) DO SET "SER2=%%A [%%~TZA]"
- ECHO %SER0% %~1;%SER1%;%SER2%>>LOG.TXT
- DEL .\TEMP\SER_CHK0? .\TEMP\SVC_CHK0? /F/Q >NUL 2>&1
- SET "SER0="
- SET "SER1="
- SET "SER2="
- GOTO:EOF
-
- :SVC_CHK
- IF "%~1"=="" GOTO:EOF
- SWREG QUERY "HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES\%~1\PARAMETERS" /V "SERVICEDLL" > .\TEMP\SVC_CHK01 2>NUL && (
- SED "/^ SERVICEDLL\t.*\t/I!d;s//\t/" .\TEMP\SVC_CHK01 > .\TEMP\SVC_CHK02
- SED "s/\t\\/\t/;s/\t??\\/\t/;s/\tSYSTEMROOT/\t%SYSTEMROOTB%/I;s/\tSYSTEM32/\t%SYSTEMB%/I;s/\t%%SYSTEMROOT%%/\t%SYSTEMROOTB%/I;s/\t%%PROGRAMFILES%%/\t%PROGRAMB%/I" .\TEMP\SVC_CHK02 > .\TEMP\SVC_CHK03
- FOR /F "TOKENS=*" %%A IN (.\TEMP\SVC_CHK03) DO SET "SER2=%%A [%%~TZA]"
- DEL .\TEMP\SVC_CHK0? /F/Q >NUL 2>&1
- )
- GOTO:EOF
- :END
复制代码
上面的到了IF ABC就會強制中斷
如果行數到很多行的時候會很不好找
所以加上DEBUG變數時
顯示出如下- C:\UPX\1>SET "SYSTEM=C:\WINDOWS\SYSTEM32"
-
- C:\UPX\1>IF EXIST .\TEMP\* DEL .\TEMP\* /Q 1>NUL 2>&1
-
- C:\UPX\1>IF EXIST LOG.TXT DEL LOG.TXT /Q 1>NUL 2>&1
-
- C:\UPX\1>SWREG QUERY "HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES" | SED "/.*SERVIC
- ES\\/I!d;s/.*SERVICES\\//I;s/$/\x22/" 1>.\TEMP\TEMP00
-
- C:\UPX\1>GREP -Fviwf .\DAT\SERVICE.DAT .\TEMP\TEMP00 1>.\TEMP\SERVICE01
-
- C:\UPX\1>SED "s/\x22$//" .\TEMP\SERVICE01 1>.\TEMP\SERVICE02
-
- C:\UPX\1>ECHO AppMgmt 1>>.\TEMP\SERVICE02
-
- C:\UPX\1>GREP -q "." .\TEMP\SERVICE02 && FOR /F "TOKENS=*" %A IN (.\TEMP\SERVI
- CE02) DO CALL :SER_CHK "%A"
-
- C:\UPX\1>CALL :SER_CHK "1394hub"
-
- C:\UPX\1>IF "1394hub" == "" GOTO:EOF
-
- C:\UPX\1>IF NOT DEFINED SYSTEMB SET "SYSTEMB=C:\\WINDOWS\\SYSTEM32"
-
- C:\UPX\1>IF NOT DEFINED SYSTEMROOTB SET "SYSTEMROOTB=C:\\WINDOWS"
-
- C:\UPX\1>IF NOT DEFINED PROGRAMB SET "PROGRAMB=C:\\Program Files"
- 命令語法不正確。
-
- C:\UPX\1>IF ABC
复制代码
這樣找錯誤的行就比較快
[ 本帖最后由 sylovanas 于 2008-11-8 12:46 编辑 ]
作者: akiraakito 时间: 2008-11-14 16:51
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%a in (a.txt) do (
- set var=%%a
- set change=!var:他娘的=TND!
- echo !change!
- )
- pause>nul
复制代码
作者: stalker 时间: 2008-11-23 19:57
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=NND!
- echo !a!
- )
- for /f "tokens=*" %%i in (xxx.txt) do (
- set a=%%i
- set a=!a:他娘的=!
- echo !a!
- )
- pause>nul
- exit
复制代码
其实是一样的拉(^_^)
作者: stalker 时间: 2008-11-25 21:54
忘了改了,开始我自己用来测试的文件是xxx.txt
作者: heng520 时间: 2008-12-11 05:38
- @echo off
- echo 你他娘的是谁?他娘的我不告诉你。>a.txt
- echo 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。>>a.txt
- for /f %%i in (a.txt) do (
- set v=%%i
- call echo %%v:他娘的=TMD%%
- )
- pause>nul&cls
- for /f %%i in (a.txt) do (
- set v=%%i
- call echo %%v:他娘的=%%
- )
- pause>nul
复制代码
作者: skuny 时间: 2009-1-14 15:47
@ECHO OFF
goto end2
:end2
set str1=你他娘的是谁?他娘的我不告诉你。
set str2=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
set a=%str1:他娘的=tnd%
echo %a%
set a=%a:tnd=%
echo %a%
set b=%str2:他娘的=tnd%
echo %b%
set b=%b:tnd=%
echo %b%
pause>nul
作者: ccmvhd 时间: 2009-1-22 18:33
@echo off&setlocal enabledelayedexpansion
for /f %%i in (1.txt) do (
set ver=%%i
echo !ver:他娘的=TND!
)
pause>nul&exit
学习了,以后可以玩@if not defined debug了,谢谢。。。。
[ 本帖最后由 ccmvhd 于 2009-1-22 18:38 编辑 ]
作者: hxinhu12315 时间: 2009-1-28 09:09
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (a.txt) do (
set str=%%i
set "str=!str:他娘的=TND!"
echo !str!
)
echo.
for /f "tokens=*" %%i in (a.txt) do (
set str=%%i
set "str=!str:他娘的=!"
echo !str!
)
pause>nul
作者: aresk 时间: 2009-2-11 20:53
- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in (a.txt) do (
- set a=%%i
- set var=!a:他娘的=TND!
- echo !var!>>abc.txt
- )
- del a.txt /q
- move abc.txt a.txt
-
- ::上面是把他娘的改成TND。
- ::下面把TND彻底去掉
-
- for /f %%i in (a.txt) do (
- set a=%%i
- set var=!a:TND=!
- echo !var!>>abc.txt
- )
- del a.txt /q
- move abc.txt a.txt
- pause
- exit
复制代码
测试已经通过
作者: irresolute 时间: 2009-2-12 09:26
@echo off
setlocal enabledelayedexpansion
echo 你他娘的是谁?他娘的我不告诉你。>1.txt
echo 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。>>1.txt
for /f "delims=" %%i in (1.txt) do (
set aa=%%i
set aa=!aa:他娘的=tnd!
echo !aa!
set bb=!aa:tnd=!
echo !bb!
)
pause>nul
作者: TonyW 时间: 2009-2-22 10:50
- @echo off & setlocal enabledelayedexpansion
- for /f %%i in (test.txt) do (
- set n=%%i
- set n=!n:他娘的=TND!
- echo !n!
- )
- pause
复制代码
第二题只需要将"TND"该为""就可以去掉"他娘的"那三个字!
想了很久才想起来以前跟着做过类似的例子:
http://bbs.bathome.net/thread-2898-1-1.html
作者: myzwd 时间: 2009-2-22 21:04 标题: 回复 1楼 的帖子
@echo off
set tt=TND
for /f "tokens=1-4 delims=他娘的" %%1 in ('more +3 %~s0') do echo %%1%tt%%%2%tt%%%3%tt%%%4
goto:eof
你他娘的是谁?他娘的我不告诉你。
你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
-------------------------------------
@echo off
for /f "tokens=1-4 delims=他娘的" %%1 in ('more +3 %~s0') do echo %%1 %%2 %%3 %%4
goto:eof
你他娘的是谁?他娘的我不告诉你。
你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
[ 本帖最后由 myzwd 于 2009-2-22 21:06 编辑 ]
作者: strong12345 时间: 2009-2-25 00:16 标题: 小弟也來發一個
- @echo off
- for /f "delims=" %%a in ('type a.txt') do (
- call set var=%%a
- call echo %%var:他娘的=TMD%%
- )
- pause>nul
复制代码
作者: zjw767676 时间: 2009-2-25 23:09
- @echo off&setlocal EnableDelayedExpansion
- for /f %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=TND!
- echo !a!
- )
- pause
复制代码
- @echo off&setlocal EnableDelayedExpansion
- for /f %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=!
- echo !a!
- )
- pause
复制代码
作者: evident 时间: 2009-2-26 16:19
2楼的 我试验了,屏显可以完成显示。 但是a.txt文件中的文字没有更改。
请问怎么更改TXT文件中的文字。 用>>输出?
作者: evident 时间: 2009-2-27 09:01
为什么用>不可以,必须用>>,看命令说明应该可以的。其中还有什么秘密么?
望哪位帮助回答下,小弟新学!
作者: sjzong 时间: 2009-5-10 00:04 标题: 回复 22楼 的帖子
你可以测试以下两个例子:- @echo off
- echo 1 >1.txt
- echo 2 >1.txt
- start 1.txt
- pause>nul&exit
复制代码
例2:- @echo off
- echo 1 >>2.txt
- echo 2 >>2.txt
- start 2.txt
- pause>nul&exit
复制代码
观察1.txt 和 2.txt 的内容。
>:表示后面输入的内容会覆盖前面输入的内容。
>>:表示后面输入的内容不会覆盖前面输入的内容,会接在后面!
[ 本帖最后由 sjzong 于 2009-5-10 00:06 编辑 ]
作者: 风行者 时间: 2009-7-13 03:20
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set /a n+=1
- set "s!n!=%%i"
- set "d=%%i"
- echo !d:他娘的=TND!
- )
- pause
- for /l %%i in (1 1 %n%) do call echo %%s%%i:他娘的=%%
- pause
复制代码
作者: dazheng 时间: 2009-7-29 18:01 标题: 感谢楼上所有
学习了,就不贴了,现在知道SET %PATH:str1=str2%的用法了
作者: hs4814 时间: 2009-8-10 12:49
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (set b=%%i&echo !b:他娘的=TND! )
- echo,
- for /f "delims=" %%i in (a.txt) do (set b=%%i&echo !b:他娘的=! )
- PAUSE>nul
复制代码
[ 本帖最后由 wxcute 于 2009-8-16 13:25 编辑 ]
作者: wayaoqiang 时间: 2009-8-12 16:43
- @echo off
- for /f "delims=" %%a in (a.txt) do set var2=%%a&call echo %%var2:他娘的=TND%%
- for /f "delims=" %%a in (a.txt) do set var2=%%a&call echo %%var2:他娘的=%%
- pause>nul
复制代码
[ 本帖最后由 wayaoqiang 于 2009-8-17 21:07 编辑 ]
作者: 蜗牛 时间: 2009-8-14 00:28
自己写的,应该没错吧
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (f:\a.txt) do (
set c=%%i
set str=!c:他娘的=TND!
echo !str!)
pause
我想问问 set c=%%i set str=!c:他娘的=TND! 这两句可以写成一句吗?不是用&之类的,意思是能不能把中间变量c省去,直接替代
谢谢
作者: wxcute 时间: 2009-8-16 13:30 标题: 回复 28楼 的帖子
请用 CODE 将代码闭合
应该是不能,因为变量替换,这个 “变量” 都没有的话怎么替换呢!
作者: simontczx 时间: 2009-8-16 17:44
for /f "tokens=*" %%i in (a.txt) do (
set a=%%i
set a=!a:他娘的=!
echo !a!
set a=!a:他娘的=!这一句是什么意思啊??为什么要用!!
作者: canyuexiaolang 时间: 2009-8-24 08:46
- @echo off & setlocal EnableDelayedExpansion
- echo 你他娘的是谁?他娘的我不告诉你。你他娘的到底是谁?我他娘的还就不告诉那个他娘的你
- pause>nul
- echo.
- set n="你他娘的是谁?他娘的我不告诉你。你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。"
- for /f "tokens=* delims=" %%i in (%n%) do (
- set a=%%i
- set a=!a:他娘的=TND!
- echo !a!
- )
- pause>nul
- echo.
- echo.
- set b="%a%"
- for /f "tokens=* delims=" %%a in (%b%)do (
- set b=%%a
- set b=!b:TND=!
- echo !b!
- )
- pause>nul
复制代码
说句话,变量延迟真TMD难理解(— —)
作者: DXSX 时间: 2009-8-25 11:20
第二个目的 用一条语句就可以解决,不用P处理
for /f "delims=他娘的 tokens=1,2,3,4,5" %c in (123.txt) do @echo %c%d%e%f%g
作者: zgq0301 时间: 2009-11-11 12:57
- @echo off
- set str=你他娘的是谁?他娘的我不告诉你。你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
- echo %str:他娘的=TND%
- echo %str:他娘的=%
- pause
复制代码
学习了for,重新写
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=TND!
- echo !a!
- )
- for /f "tokens=*" %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=!
- echo !a!
- )
- pause
复制代码
[ 本帖最后由 zgq0301 于 2009-11-13 19:48 编辑 ]
作者: qingyuedufeng 时间: 2009-11-11 23:49
换成“TND”输出:- @echo off
- setlocal enabledelayedexpansion
- for /f %%a in (a.txt) do (
- set int=%%a
- set yu=!int:他娘的=TND!
- echo !yu!
- )
- pause>nul
复制代码
去掉“他娘的”输出:- @echo off
- setlocal enabledelayedexpansion
- for /f %%a in (a.txt) do (
- set int=%%a
- set yu=!int:他娘的=!
- echo !yu!
- )
- pause>nul
复制代码
作者: bamboo 时间: 2009-11-20 16:05
- @echo off
- setlocal enabledelayedexpansion
- echo 流氓对话:
- type a.txt
- echo.
- echo 网络对话:
- pause>nul
- for /f %%a in (a.txt) do (
- set str=%%a
- set newstr=!str:他娘的=TND!
- echo !newstr!
- )
- echo.
- echo 文明对话:
- pause>nul
- for /f %%a in (a.txt) do (
- set str=%%a
- set newstr=!str:他娘的=!
- echo !newstr!
- )
- echo 按任意键退出!
- pause>nul
复制代码
作者: ljjllj 时间: 2009-11-26 13:43
如下
@ECHO OFF
SET VARa=你他娘的是谁?他娘的我不告诉你。你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
SET VARb=%VARa:他娘的=TND%
ECHO 替换后的值:%VARb%
pause
作者: pumahxh 时间: 2009-11-26 14:12 标题: 不用变量延时也能做到
- @echo off
- set /p str=<1.txt
- set str1=%str:他娘的=TND%
- set str2=%str1:TND=%
- echo %str% &echo.
- echo %str1% &echo.
- echo %str2% &echo.
- pause
复制代码
作者: summerflower 时间: 2009-11-27 23:40
- @echo off
- setlocal
- setlocal enabledelayedexpansion
- for "tokens=*" /f %%f in (a.txt) do (
- set strtmp=%%f
- set strtmp=!strtmp:他娘的=TND!
- echo !strtmp!
- )
- endlocal
复制代码
作者: lvyaojian 时间: 2009-12-14 11:05
- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in (test.txt) do (
- set str=%%i
- echo !str:他娘的=TND!
- )
- pause
- for /f %%i in (test.txt) do (
- set str=%%i
- echo !str:他娘的=!
- )
- pause
复制代码
作者: wsjxwj 时间: 2009-12-14 12:39
呵呵,其实我是看了8楼的方法,再改了一点就得出了楼主的第二个题目的答案了
::A1
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set change=!var:他娘的=TND!
echo !change!
)
pause>nul
::A2
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set change=!var:他娘的=!
echo !change!
)
pause>nul
作者: a590687 时间: 2010-1-19 21:07 标题: 写了了遍 还真发现错的地方
写=的时候没关输入法 结果查错 查了半天- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set a=%%i
- set b=!a:他娘的=TND!
- echo !b!
- )
- for /f "delims=" %%j in (a.txt) do (
- set c=%%j
- set d=!c:他娘的=!
- echo !d!
- )
- pause
复制代码
作者: tgwg001 时间: 2010-1-19 21:51
@echo off
setlocal enabledelayedexpansion
for /f %%b in (a.txt) do (
set dd=%%b
set bb=!dd:他娘的=tnd!
echo !bb!
)
pause>nul
作者: wgoxm521 时间: 2010-1-28 21:12
看看7楼的答案,暂时不潜水
作者: 634175535 时间: 2010-4-26 09:31
先看看高手如何做自己再研究下丶
作者: mangci 时间: 2010-5-1 02:46
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set change=!var:他娘的=TND!
echo !change!>>b.txt
)
for /f "tokens=*" %%b in (b.txt) do (
set change=%%b
set str=!change:TND=!
echo !str!
)
pause>nul
作者: gxuan2008 时间: 2010-7-3 14:44
- @echo off
- setlocal enabledelayedexpansion
- set "str="
- for /f "delims=" %%a in (a.txt) do (
- set "str=!str!%%a"
- )
- echo !str!
- echo.
- echo 下面把"他娘的"换成TND。
- echo ------------------------------------------------------------------
- set "nstr=!str:他娘的=TND!"
- echo !nstr!
- echo ------------------------------------------------------------------
- echo.
- echo 下面把"他娘的"去掉。
- echo ------------------------------------------------------------------
- set "nstr1=!str:他娘的=!"
- echo !nstr1!
- echo ------------------------------------------------------------------
- pause
复制代码
好像写得有点繁,呵呵。
问个问题:批处理中有对文本进行进行换行的常量吗?如VB中有vbcrlf。
作者: poxi 时间: 2010-7-18 20:29
答:- @echo off
- setlocal enabledelayedexpansion
- echo =======替换版==========
- for /f %%a in (a.txt) do (
- set a=%%a
- set a=!a:他娘的=TND!
- echo !a!
- )
- echo.
- echo =======去除版==========
- for /f %%a in (a.txt) do (
- set a=%%a
- set a=!a:他娘的=!
- echo !a!
- )
- pause>nul
复制代码
效果:
[attach]2728[/attach]
======================
end;
作者: solid 时间: 2010-7-27 22:39
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%a in ( a.txt ) do (
set ti1=%%a
set "ti=!ti1:他娘的=TND!"
echo !ti! >>b.txt
)
del a.txt
ren b.txt a.txt
for /f "tokens=*" %%a in ( a.txt ) do (
set ti1=%%a
set "ti=!ti1:TND=!"
echo !ti! >>b.txt
)
del a.txt
ren b.txt a.txt
作者: fish 时间: 2010-7-29 20:20 标题: 不知道还能再精简吗?
- @echo off
- for /f %%i in (a.txt) do (
- set o=%%i
- setlocal enabledelayedexpansion
- set "s1=!s1!!o:他娘的=TND!"
- set "s2=!s1:TND=!"
- )
- echo !s1!
- echo !s2!
- pause>nul
复制代码
有点遗憾是没能实现换行显示!还请各位前辈赐教。。。
作者: fish 时间: 2010-7-29 22:05 标题: 多谢defanive前辈指教,实现了换行的功能。
- @echo off
- setlocal enabledelayedexpansion
- set n=^
-
-
- for /f %%i in (a.txt) do (
- set o=%%i
- set "s1=!s1!!o:他娘的=TND!!n!"
- set "s2=!s1:TND=!"
- )
- echo !s1!
- echo !s2!
- pause>nul
复制代码
不过原理不是很清楚只是依葫芦画瓢,所以希望知道原理的前辈给晚辈详细讲解一番,晚辈在此先谢过了。。。
作者: rogue_1983 时间: 2010-7-29 22:17 标题: 这样也可以
<1>@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in (a.txt) do (
set "var=%%i"
echo !var:他娘的=TND!)
pause
<2>@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in (a.txt) do (
set "var=%%i"
echo !var:他娘的=!)
pause
作者: zcydez 时间: 2010-7-30 14:15
- @echo off&setlocal EnableDelayedExpansion
- for %%i in (你他娘的是谁?他娘的我不告诉你。 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。) do (
- set var1=%%i
- set var2=!var1:他娘的=TND!
- echo !var2!
- set var2=!var1:他娘的=!
- echo !var2!
- )
- pause
复制代码
作者: skuny 时间: 2010-12-22 23:51
- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=tnd!
- echo !a!
- )
- for /f %%i in (a.txt) do (
- set a=%%i
- set a=!a:他娘的=!
- echo !a!
- )
- endlocal
- pause
复制代码
作者: mac007cn 时间: 2010-12-27 14:45
- @echo off
- setlocal EnableExtensions
- setlocal EnableDelayedExpansion
- for /f %%a in (bat02.txt) do (
- set str=%%a
- echo !str:他娘的=TND!
- )
复制代码
[ 本帖最后由 mac007cn 于 2010-12-27 14:46 编辑 ]
作者: vincentzhou 时间: 2010-12-31 22:41
- @echo off&setlocal enabledelayedexpansion
- for /l %%i in (1 1 2) do (
- for /f %%a in (a.txt) do (
- set /a n+=1
- set k=%%a
- set b=!k:~,1!
- set c=TND
- if "!n!"=="1" (
- set d=!k:~4,3!
- set e=!k:~-6!
- if "%%i"=="1" (
- echo !b!!c!!d!!c!!e!
- ) else (
- echo !b!!d!!e!
- )
- ) else (
- set d=!k:~4,6!
- set e=!k:~-12,7!
- set f=!k:~-2!
- if "%%i"=="1" (
- echo !b!!c!!d!!c!!e!!c!!f!
- ) else (
- echo !b!!d!!e!!f!
- )
- )
- )
- pause>nul
- )
- pause>nul
复制代码
作者: vincentzhou 时间: 2010-12-31 22:47
- @echo off&setlocal enabledelayedexpansion
- for /f %%a in (a.txt) do (
- set str=%%a
- set str=!str:他娘的=TND!
- echo !str!
- )
- pause>nul
- for /f %%a in (a.txt) do (
- set str=%%a
- set str=!str:他娘的=!
- echo !str!
- )
- pause>nul
复制代码
作者: we6540 时间: 2011-1-29 16:48
@echo off
setlocal enabledelayedexpansion
for /f %%i in (1.txt) do (
set a=%%i
set b=!a:他娘的=TND!
echo !b!
)
pause
作者: smith203 时间: 2011-3-6 09:54
复杂啊。。有点不懂, 努力。。
作者: zxd11097 时间: 2011-7-17 00:40
第2题解答- @echo off
- :字符替换练习题
- echo 解答替换"他娘的"为"TND"
- set "a=你他娘的是谁?他娘的我不告诉你。"
- set "b=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。"
- echo %a:他娘的=tnd%&echo. &echo %b:他娘的=tnd%&echo 按任意键获取第2结果&pause>nul
- echo.
- echo %a:他娘的=%&echo. &echo %b:他娘的=%&echo 按任意键结束本题&pause>nul
复制代码
作者: Hello123World 时间: 2011-7-17 12:51
1# wxcute - @echo off&SetLocal EnableDelayedExpansion
- For /f "delims=" %%i in (1.txt) do (Set a=%%i
- Set a=!a:他娘的=tnd!
- Echo !a!)
- pause
复制代码
- @echo off&SetLocal EnableDelayedExpansion
- For /f "delims=" %%i in (1.txt) do (Set a=%%i
- Set a=!a:他娘的=!
- Echo !a!)
- pause
复制代码
作者: liujb114 时间: 2011-7-18 16:11
为什么我只能写出这样的码?天啊。
@echo off
set str1=你他娘的是谁?我他娘的不告诉你。
set a=%str1:~0,-15%
set b=%str1:~1,-12%
set c=%str1:~4,-8%
set d=%str1:~8,-5%
set e=%str1:~11%
set i=tnd
echo %a%%i%%c%%i%%e%
pause
作者: qq399254368 时间: 2012-9-10 09:36
批处理字符替换
我想问一下,假如替换的对象有空格或者用空格替换的话,好像不能这样写吧。
作者: collapsar 时间: 2012-10-22 16:40
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (a.txt) do (
- set var=%%i
- set var=!var:他娘的=TND!
- echo !var!
- )
- for /f "tokens=*" %%i in (a.txt) do (
- set var=%%i
- set var=!var:他娘的=!
- echo !var!
- )
- pause
复制代码
作者: bat爱好者 时间: 2013-1-5 16:56
回复 11# heng520
call在里面的作用是什么?
作者: Enterpaise 时间: 2013-1-16 15:22
- @echo off & setlocal enabledelayedexpansion
- for /f %%i in (a.txt) do (
- set var=%%i
- echo !var:他娘的=TND!
- )
- echo.
- echo.
- for /f %%i in (a.txt) do (
- set var=%%i
- echo !var:他娘的=!
- )
- pause
复制代码
作者: annali74 时间: 2013-4-3 14:13
- @echo off
- set a=你他娘的是谁?他娘的我不告诉你。
- set b=%a:他娘的=TND%
- set c=%a:他娘的=%
- echo %b%
- echo %c%
- pause
复制代码
作者: skynjupt 时间: 2013-4-22 12:54
- @echo off
- chcp 936>nul
-
- cd.>a.txt
- set /p=你他娘的是谁?他娘的我不告诉你。<nul 1>>a.txt
- echo.>>a.txt
- set /p=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。<nul 1>>a.txt
-
- echo.==========原文内容==========:
- for /f %%i in (a.txt) do echo %%i
-
- echo.&echo.==========“他娘的”换成“TND”后内容==========:
- for /f %%i in (a.txt) do (
- set "str=%%i"
- call set "str=%%str:他娘的=TND%%"
- call echo %%str%%
- )
-
- echo.&echo.==========去掉这个不雅的词再输出一遍==========:
- for /f %%i in (a.txt) do (
- set "str=%%i"
- call set "str=%%str:他娘的=%%"
- call echo %%str%%
- )
-
- echo.&echo.让大家都文明起来哈
- del /a /f a.txt
- pause
复制代码
作者: 2846090741 时间: 2013-5-18 14:06
替换- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- echo 原文
- set a=你他娘的是谁?他娘的我不告诉你。 & echo !a!
- set b=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。 & echo !b!
- echo.
- echo 替换不文明语句
- set a=%a:他娘的=TND% & echo !a!
- set b=%b:他娘的=TND% & echo !b!
- endlocal
- pause > nul
复制代码
去除- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- echo 原文
- set a=你他娘的是谁?他娘的我不告诉你。 & echo !a!
- set b=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。 & echo !b!
- echo.
- echo 去掉不文明语句
- for /F "tokens=1-3* delims=他娘的" %%i in ('echo %a%') do @echo %%i%%j%%k
- for /F "tokens=1-4* delims=他娘的" %%i in ('echo %b%') do @echo %%i%%j%%k%%l
- endlocal
- pause >nul
复制代码
作者: keyboard 时间: 2013-7-18 22:09
交流交流- @if not defined debug @echo off
- echo 你他娘的是谁?他娘的我不告诉你。>a.txt
- echo 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。>>a.txt
- for /f "tokens=*" %%i in (a.txt) do (
- setlocal enabledelayedexpansion
- set "var=%%i"
- set "var=!var:他娘的=TND!"
- echo !var!>>c.txt
- endlocal
- )
- del a.txt
- ren c.txt a.txt
- for /f "tokens=*" %%i in (a.txt) do (
- setlocal enabledelayedexpansion
- set "var=%%i"
- set "var=!var:TND=!"
- echo !var!>>c.txt
- endlocal
- )
- del a.txt
- ren c.txt a.txt
复制代码
已测试
作者: battab 时间: 2013-12-9 10:56
- @echo off
- echo 你他娘的是谁?他娘的我不告诉你。>a.txt
- echo 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。>>a.txt
- for /f "tokens=* delims=" %%i in (a.txt) do (
- set str=%%i
- setlocal enabledelayedexpansion
- echo !str:他娘的=TND!
- endlocal
- )
- for /f "tokens=* delims=" %%i in (a.txt) do (
- set str=%%i
- setlocal enabledelayedexpansion
- echo !str:他娘的=!
- endlocal
- )
- del a.txt
- pause>nul
复制代码
作者: 章伯魂 时间: 2014-3-11 15:33
@echo off
echo 原句:
set str1=你他娘的是谁?他娘的我不告诉你。
set str2=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
echo %str1%
echo %str2%
set str3=%str1:他娘的=tnd%
set str4=%str2:他娘的=tnd%
echo.
echo 修改后:
echo %str2%
echo %str4%
pause>nul
作者: sbjugt 时间: 2014-3-11 16:15
echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (set a=%%i&set b=!a:他娘的=TND!&echo !b!>>b.txt)
for /f "delims=" %%i in (a.txt) do (set a=%%i&&set b=!a:他娘的=!&&echo !b!>>b.txt)
pause
作者: a803966 时间: 2014-7-27 14:46
@echo off
setlocal enabledelayedexpansion
rem 查找并替换内容程序
for /f "tokens=*" %%i in (a.txt) do (
echo %%i
set var=%%i
set var=!var:他娘的=TMD!
echo !var!
)
endlocal
pause
作者: yuanyannian 时间: 2014-7-27 19:24
我也学着写一个,模仿别人的。直接替换到源文件中。- @Echo Off
-
- set aaa=a.txt
- for /f "tokens=*" %%a In ('dir/b %aaa%') do ((for /f "tokens=1* delims=:" %%b in ('Findstr /n .* "%%a"') do (
- set ss=%%c
- setlocal enabledelayedexpansion
- if "!ss!"=="" (echo.) else set ss=!ss:他娘的=TND!&echo !ss!))>ss.txt
- move /y ss.txt "%%a"
- endlocal
- )
-
- for /f "tokens=*" %%a In ('dir/b %aaa%') do ((for /f "tokens=1* delims=:" %%b in ('Findstr /n .* "%%a"') do (
- set ss=%%c
- setlocal enabledelayedexpansion
- if "!ss!"=="" (echo.) else set ss=!ss:TND=!&echo !ss!))>ss.txt
- move /y ss.txt "%%a"
- endlocal
- )
-
- pause
复制代码
作者: bailong360 时间: 2014-7-28 08:55
@echo off
set var1=你他娘的是谁?他娘的我不告诉你。
echo %var1:他娘的=TND%
set var2=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
echo %var2:他娘的=TND%
pause>nul
echo %var2:他娘的=%
echo %var1:他娘的=%
pause>nul
作者: guosuper 时间: 2014-9-29 15:46
::===========================================
::有一文本内容如下:
::a.txt
::你他娘的是谁?他娘的我不告诉你。
::你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
::论坛可是不允许用不文明用语的,请大家先把“他娘的”换成“TND”输出一遍,最后去掉这个不雅的词再输出一遍。
::===========================================
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (a.txt) do (set num=%%i&&set num=!num:他娘的=TND!&&echo !num!)
pause>nul
for /f "tokens=*" %%i in (a.txt) do (set num=%%i&&set num=!num:他娘的=!&&echo !num!)
pause>nul
作者: monsterbatch 时间: 2014-11-2 22:37
setlocal enabledelayedexpansion
set n=1
for /f %%i in (1.txt) do (
set str=%%i
set str1=!str:他娘的=TND!
if !n! equ 1 (echo !str1!>1.txt&set /a n+=1) else echo !str1!>>1.txt
)
pause
作者: shelluserwlb 时间: 2014-11-7 07:57
本帖最后由 shelluserwlb 于 2014-11-7 07:58 编辑
- @echo off
- for /f "tokens=*" %%a in (a.txt) do (
- set str=%%a
- call set str=%%str:他娘的=TND%%
- call echo %%str%%
- )
- echo -------------------------------
- for /f "tokens=*" %%a in (a.txt) do (
- set str=%%a
- call set str=%%str:他娘的=%%
- call echo %%str%%
- )
- echo.&pause
复制代码
上面的代码利用call实现变量延迟赋值的效果。
作者: 慕夜蓝化 时间: 2014-12-25 10:32
回复 4# sylovanas
说实话,我对debug这个命令挺好奇的,不过鉴于电脑装的是win764位的,没有这个命令,一直以来都是持观望态度,但是这个除错功能太有用了,有时不知道哪里出了问题,都要来回排查好多遍。。。
作者: 终_焉 时间: 2015-2-25 16:18
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (a.txt) do (
- set e=%%i&set e=!e:他娘的=TND!
- echo !e!)
- pause>nul
-
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (a.txt) do (
- set e=%%i&set e=!e:他娘的=!
- echo !e!)
- pause>nul
复制代码
作者: dizimotong 时间: 2015-5-1 11:54
- @echo off&setlocal EnableDelayedExpansion %关闭回显,设置变量延迟%
- set sou_str=他娘的 ::设置想要替换的字符
- set dis_str=tnd ::设置替换后的字符
-
- rem 开始进行批量替换
- for /f %%i in (test.txt) do (
- set str=%%i
- set str=!str:%sou_str%=%dis_str%!
- echo !str!
- )
复制代码
作者: dizimotong 时间: 2015-5-1 12:11
回复 81# dizimotong
自己测试后,发现结果有问题 。自我修改一下- echo off&setlocal EnableDelayedExpansion %关闭回显,设置变量延迟%
- rem 该批处理用于批量替换字符
-
-
-
- rem 开始进行批量替换
- for /f %%i in (test.txt) do (
- set str=%%i
- set str=!str:他娘的=tnd!
- echo !str!
- )
复制代码
作者: wutarnow 时间: 2015-10-20 16:00
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%I in (a.txt) do (
- set text=%%I
- echo !text:他娘的=TND!
- )
- for /f "tokens=*" %%I in (a.txt) do (
- set text=%%I
- echo !text:他娘的=!
- )
复制代码
作者: 依山居 时间: 2015-10-21 23:45
python练手- f=open("aa.txt","r")
- txt=f.read()
- print("这是原文,楼主说这不文明:\r\n",txt)
- rtxt=txt.replace("他娘的","TND")
- print("→_→替换掉了:\r\n",rtxt)
复制代码
- 这是原文,楼主说这不文明:
-
- 你他娘的是谁?他娘的我不告诉你。
- 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
- →_→替换掉了:
-
- 你TND是谁?TND我不告诉你。
- 你TND到底是谁?我TND还就不告诉那个TND你。
复制代码
作者: sishentibu 时间: 2016-3-31 21:44
一开始忘记变量延迟了。
另,7楼方法win7下是不是没用?- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in (a.txt) do (
- set t=%%i
- set w=!t:他娘的=TND!
- echo !w!)
- echo;
- echo 按空格查看第二输出结果
- pause>nul
- echo;
- echo 去掉不雅词
- echo;
- for /f %%i in (a.txt) do (
- set t=%%i
- set w=!t:他娘的=!
- echo !w!)
- pause>nul
复制代码
作者: codegay 时间: 2016-4-1 06:41
- #=
- julia替换TND.jl
- http://bbs.bathome.net/thread-2462-1-1.html
- 2016年4月1日 06:18:12 codegay
- =#
- txt=open(readall,"test.txt")
- txt=replace(txt,"他娘的","TND")
- println(txt)
- txt=replace(txt,"TND","")
- print(txt)
复制代码
作者: 胖奇4BAT 时间: 2016-4-17 19:43
@echo off
for /f "tokens=*" %%a in (a.txt) do (
SETLOCAL ENABLEDELAYEDEXPANSION
set var=%%a
set newVar=!var:他娘的=TND!
echo !newVar!
)
pause
2.@echo off
for /f "tokens=*" %%a in (a.txt) do (
SETLOCAL ENABLEDELAYEDEXPANSION
set var=%%a
set newVar=!var:他娘的=!
echo !newVar!
)
pause
作者: lizixian 时间: 2016-11-29 11:04
虽然代码烂但绝对原创- @echo off
-
-
- setlocal enabledelayedexpansion
-
- set line=0
-
- for /f "tokens=1-4 delims=他娘的" %%i in (a.txt) do (
-
- set /a line+=1
-
- if !line! equ 1 echo %%iTND%%jTND%%k
-
- if !line! equ 2 echo %%iTND%%jTND%%kTND%%l
-
- )
- endlocal
复制代码
作者: niudd 时间: 2017-2-24 19:07
感觉大家都是很牛的人
作者: wtuldn 时间: 2017-12-31 23:37
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in (a.txt) do (
set file=%%a
set b=!file:他娘的=TND!
echo !b!>>b.txt
)
for /f "delims=" %%b in (b.txt) do (
set name=%%b
set c=!name:TND=!
echo !c!>>b.txt
)
pause
新手代码,但一定是我自己写的,求指教,谢谢!
作者: 懒虫阿布 时间: 2018-7-22 19:03
- @echo off
- setlocal enabledelayedexpansion
-
- for /f "delims=" %%i in (a.txt) do (
- set rowcontent=%%i
- echo !rowcontent:他娘的=TND!
- )
- for /f "delims=" %%i in (a.txt) do (
- set rowcontent=%%i
- echo !rowcontent:他娘的=!
- )
复制代码
作者: 懒虫阿布 时间: 2018-7-22 19:04
中文字符的操作要注意文件编码和命令行窗口的编码是否一致,不一致的场合,会乱码。
作者: impk 时间: 2019-8-16 12:26
- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in ( a.txt ) do (
- set str=%%i
- set str=!str:他娘的=tnd!
- echo !str!
- )
- pause
复制代码
作者: 马帅123 时间: 2020-2-24 12:12
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%a in (a.txt) do (
- set abc=%%a
- echo !abc:他娘的=TND!
- echo !abc:他娘的=!
- )
- pause
复制代码
作者: dzddz 时间: 2020-3-6 10:13
- @echo off
- echo.
- set var1=你他娘的是谁?他娘的我不告诉你。
- set var2=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
- echo.
- echo.
- echo 原内容:
- echo %var1%
- echo %var2%
- echo.
- echo 过滤后的内容(替换):
- echo %var1:他娘的=TND%
- echo %var2:他娘的=TND%
- echo.
- echo 再次过滤后的内容(去掉):
- echo %var1:他娘的=%
- echo %var2:他娘的=%
- echo.
- pause
- exit
复制代码
作者: msdmck 时间: 2021-9-16 10:45
本帖最后由 msdmck 于 2021-9-23 15:59 编辑
有點看不懂...學習一下
英國移民、英國樓盤等事宜成為香港熱話,有英媒整合英國樓價最抵的十大地區可供港人作在英國置業和投資英國物業的參考。現時英國樓平均樓價為約23.7萬英鎊。英國房地產很多人都想在英國買樓置業,買英國樓有什麽好處?英國物業投資前景怎麽樣?投放資金到英國物業值得嗎?
許多專門提供SEO服務以及提供網絡營銷策略的SEO公司和數碼營銷公司,你又對網絡營銷相關的概念有多少認知呢?SEO收費或會成爲近年企業納入為成本。SEO教學香港自學課程有不少,香港SEO能從提供相關專業服務的SEO廣告公司獲得更高效的幫助。
作者: Fit 时间: 2021-9-16 11:34
@echo off
setlocal enabledelayedexpansion
for /f %%i in (1.txt) do (
set str=%%i
echo !str:他娘的=TND!
)
pause
作者: 89343671 时间: 2022-6-17 15:41
@echo off
setlocal enabledelayedexpansion
set const_str="他娘的"
for /f %%i in (test.txt) do (
set var=%%i
echo !var:%const_str:~1,-1%=TND!
)
echo.
echo ======分======割======线======
echo.
for /f %%i in (test.txt) do (
set var=%%i
echo !var:%const_str:~1,-1%=!
)
pause
作者: allyn 时间: 2022-7-16 20:38
@echo off
setlocal enabledelayedexpansion
for /f %%i in (text.txt) do (
set a=%%i
echo !a! | findstr "他娘的" && set a=!a:他娘的=TND!
echo !a! >> 输出结果.txt
)
pause
我的这个为什么一定要setlocal enabledelayedexpansion这个,使用%%的形式就是获取不到变量的值,在cmd中又可以
作者: wxf617 时间: 2022-10-18 15:50
本帖最后由 wxf617 于 2022-10-18 17:25 编辑
@ECHO OFF & SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F %%A IN (A.TXT) DO (
SET str=%%A
ECHO !str:他娘的=TND!
)
FOR /F %%A IN (A.TXT) DO (
SET str=%%A
ECHO !str:他娘的=!
)
pause
仿写二楼大佬的
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |