[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
为什么我只能写出这样的码?天啊。
@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

TOP

批处理字符替换
我想问一下,假如替换的对象有空格或者用空格替换的话,好像不能这样写吧。

TOP

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

TOP

回复 11# heng520


    call在里面的作用是什么?

TOP

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

TOP

  1. @echo off
  2. set a=你他娘的是谁?他娘的我不告诉你。
  3. set b=%a:他娘的=TND%
  4. set c=%a:他娘的=%
  5. echo %b%
  6. echo %c%
  7. pause
复制代码

TOP

  1. @echo off
  2. chcp 936>nul
  3. cd.>a.txt
  4. set /p=你他娘的是谁?他娘的我不告诉你。<nul 1>>a.txt
  5. echo.>>a.txt
  6. set /p=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。<nul 1>>a.txt
  7. echo.==========原文内容==========:
  8. for /f %%i in (a.txt) do echo %%i
  9. echo.&echo.==========“他娘的”换成“TND”后内容==========:
  10. for /f %%i in (a.txt) do (
  11. set "str=%%i"
  12. call set "str=%%str:他娘的=TND%%"
  13. call echo %%str%%
  14. )
  15. echo.&echo.==========去掉这个不雅的词再输出一遍==========:
  16. for /f %%i in (a.txt) do (
  17. set "str=%%i"
  18. call set "str=%%str:他娘的=%%"
  19. call echo %%str%%
  20. )
  21. echo.&echo.让大家都文明起来哈
  22. del /a /f a.txt
  23. pause
复制代码

TOP

替换
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. echo 原文
  4. set a=你他娘的是谁?他娘的我不告诉你。 & echo !a!
  5. set b=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。 & echo !b!
  6. echo.
  7. echo 替换不文明语句
  8. set a=%a:他娘的=TND% & echo !a!
  9. set b=%b:他娘的=TND% & echo !b!
  10. endlocal
  11. pause > nul
复制代码
去除
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. echo 原文
  4. set a=你他娘的是谁?他娘的我不告诉你。 & echo !a!
  5. set b=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。 & echo !b!
  6. echo.
  7. echo 去掉不文明语句
  8. for /F "tokens=1-3* delims=他娘的" %%i in ('echo %a%') do @echo %%i%%j%%k
  9. for /F "tokens=1-4* delims=他娘的" %%i in ('echo %b%') do @echo %%i%%j%%k%%l
  10. endlocal
  11. pause >nul
复制代码

TOP

交流交流
  1. @if not defined debug @echo off
  2. echo 你他娘的是谁?他娘的我不告诉你。>a.txt
  3. echo 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。>>a.txt
  4. for /f "tokens=*" %%i in (a.txt) do (
  5.     setlocal enabledelayedexpansion
  6.     set "var=%%i"
  7.     set "var=!var:他娘的=TND!"
  8.     echo !var!>>c.txt
  9.     endlocal
  10. )
  11. del a.txt
  12. ren c.txt a.txt
  13. for /f "tokens=*" %%i in (a.txt) do (
  14.     setlocal enabledelayedexpansion
  15.     set "var=%%i"
  16.     set "var=!var:TND=!"
  17.     echo !var!>>c.txt
  18.     endlocal
  19. )
  20. del a.txt
  21. ren c.txt a.txt
复制代码
已测试

TOP

  1. @echo off
  2. echo 你他娘的是谁?他娘的我不告诉你。>a.txt
  3. echo 你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。>>a.txt
  4. for /f "tokens=* delims=" %%i in (a.txt) do (
  5. set str=%%i
  6. setlocal enabledelayedexpansion
  7. echo !str:他娘的=TND!
  8. endlocal
  9.                                 )
  10. for /f "tokens=* delims=" %%i in (a.txt) do (
  11. set str=%%i
  12. setlocal enabledelayedexpansion
  13. echo !str:他娘的=!
  14. endlocal
  15.         )
  16. del a.txt
  17. pause>nul
复制代码
学习中

TOP

@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

TOP

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

TOP

@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

TOP

我也学着写一个,模仿别人的。直接替换到源文件中。
  1. @Echo Off
  2. set aaa=a.txt
  3. for /f "tokens=*" %%a In ('dir/b %aaa%') do ((for /f "tokens=1* delims=:" %%b in ('Findstr /n .* "%%a"') do (
  4.   set ss=%%c
  5.   setlocal enabledelayedexpansion
  6.   if "!ss!"=="" (echo.) else set ss=!ss:他娘的=TND!&echo !ss!))>ss.txt
  7.   move /y ss.txt "%%a"
  8.   endlocal
  9.   )
  10. for /f "tokens=*" %%a In ('dir/b %aaa%') do ((for /f "tokens=1* delims=:" %%b in ('Findstr /n .* "%%a"') do (
  11.   set ss=%%c
  12.   setlocal enabledelayedexpansion
  13.   if "!ss!"=="" (echo.) else set ss=!ss:TND=!&echo !ss!))>ss.txt
  14.   move /y ss.txt "%%a"
  15.   endlocal
  16.   )
  17. pause
复制代码
76626yyn

TOP

@echo off
set var1=你他娘的是谁?他娘的我不告诉你。
echo %var1:他娘的=TND%
set var2=你他娘的到底是谁?我他娘的还就不告诉那个他娘的你。
echo %var2:他娘的=TND%
pause>nul
echo %var2:他娘的=%
echo %var1:他娘的=%
pause>nul

TOP

返回列表