返回列表 发帖
为什么我只能写出这样的码?天啊。
@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

@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!
)
pauseCOPY

TOP

回复 11# heng520


    call在里面的作用是什么?

TOP

@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:他娘的=!
)
pauseCOPY

TOP

@echo off
set a=你他娘的是谁?他娘的我不告诉你。
set b=%a:他娘的=TND%
set c=%a:他娘的=%
echo %b%
echo %c%
pauseCOPY

TOP

@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
pauseCOPY

TOP

替换
@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 > nulCOPY
去除
@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 >nulCOPY

TOP

交流交流
@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.txtCOPY
已测试

TOP

@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>nulCOPY
学习中

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

我也学着写一个,模仿别人的。直接替换到源文件中。
@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
  )
pauseCOPY
76626yyn

TOP

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

TOP

返回列表