[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
::===========================================
::有一文本内容如下:
::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

TOP

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

TOP

本帖最后由 shelluserwlb 于 2014-11-7 07:58 编辑
  1. @echo off
  2. for /f "tokens=*" %%a in (a.txt) do (
  3. set str=%%a
  4. call set str=%%str:他娘的=TND%%
  5. call echo %%str%%
  6. )
  7. echo -------------------------------
  8. for /f "tokens=*" %%a in (a.txt) do (
  9. set str=%%a
  10. call set str=%%str:他娘的=%%
  11. call echo %%str%%
  12. )
  13. echo.&pause
复制代码
上面的代码利用call实现变量延迟赋值的效果。

TOP

回复 4# sylovanas

说实话,我对debug这个命令挺好奇的,不过鉴于电脑装的是win764位的,没有这个命令,一直以来都是持观望态度,但是这个除错功能太有用了,有时不知道哪里出了问题,都要来回排查好多遍。。。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in (a.txt) do (
  3. set e=%%i&set e=!e:他娘的=TND!
  4. echo !e!)
  5. pause>nul
  6. @echo off&setlocal enabledelayedexpansion
  7. for /f "tokens=*" %%i in (a.txt) do (
  8. set e=%%i&set e=!e:他娘的=!
  9. echo !e!)
  10. pause>nul
复制代码

TOP

  1. @echo off&setlocal EnableDelayedExpansion %关闭回显,设置变量延迟%
  2. set sou_str=他娘的 ::设置想要替换的字符
  3. set dis_str=tnd ::设置替换后的字符
  4. rem 开始进行批量替换
  5. for /f %%i in (test.txt) do (
  6. set str=%%i
  7. set str=!str:%sou_str%=%dis_str%!
  8. echo !str!
  9. )
复制代码

TOP

回复 81# dizimotong
自己测试后,发现结果有问题 。自我修改一下
  1. echo off&setlocal EnableDelayedExpansion %关闭回显,设置变量延迟%
  2. rem 该批处理用于批量替换字符
  3. rem 开始进行批量替换
  4. for /f %%i in (test.txt) do (
  5. set str=%%i
  6. set str=!str:他娘的=tnd!
  7. echo !str!
  8. )
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%I in (a.txt) do (
  4.     set text=%%I
  5.     echo !text:他娘的=TND!
  6. )
  7. for /f "tokens=*" %%I in (a.txt) do (
  8.     set text=%%I
  9.     echo !text:他娘的=!
  10. )
复制代码

TOP

python练手
  1. f=open("aa.txt","r")
  2. txt=f.read()
  3. print("这是原文,楼主说这不文明:\r\n",txt)
  4. rtxt=txt.replace("他娘的","TND")
  5. print("→_→替换掉了:\r\n",rtxt)
复制代码
  1. 这是原文,楼主说这不文明:
  2. 你他娘的是谁?他娘的我不告诉你。
  3. 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
  4. →_→替换掉了:
  5. 你TND是谁?TND我不告诉你。
  6. 你TND到底是谁?我TND还就不告诉那个TND你。
复制代码

TOP

一开始忘记变量延迟了。
另,7楼方法win7下是不是没用?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in (a.txt) do (
  4. set t=%%i
  5. set w=!t:他娘的=TND!
  6. echo !w!)
  7. echo;
  8. echo 按空格查看第二输出结果
  9. pause>nul
  10. echo;
  11. echo 去掉不雅词
  12. echo;
  13. for /f %%i in (a.txt) do (
  14. set t=%%i
  15. set w=!t:他娘的=!
  16. echo !w!)
  17. pause>nul
复制代码

TOP

  1. #=
  2. julia替换TND.jl
  3. http://bbs.bathome.net/thread-2462-1-1.html
  4. 2016年4月1日 06:18:12 codegay
  5. =#
  6. txt=open(readall,"test.txt")
  7. txt=replace(txt,"他娘的","TND")
  8. println(txt)
  9. txt=replace(txt,"TND","")
  10. print(txt)
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

@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

TOP

虽然代码烂但绝对原创
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set line=0
  4. for /f "tokens=1-4 delims=他娘的" %%i in (a.txt) do (
  5. set /a line+=1
  6. if !line! equ 1 echo %%iTND%%jTND%%k
  7. if !line! equ 2 echo %%iTND%%jTND%%kTND%%l
  8. )
  9. endlocal
复制代码

TOP

感觉大家都是很牛的人

TOP

@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
新手代码,但一定是我自己写的,求指教,谢谢!

TOP

返回列表