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

评分人数

TOP

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


第二题只需要将"TND"该为""就可以去掉"他娘的"那三个字!

想了很久才想起来以前跟着做过类似的例子:
http://bbs.bathome.net/thread-2898-1-1.html
1

评分人数

(*^__^*)

TOP

回复 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 编辑 ]
1

评分人数

    • wxcute: 怪方法,但与众不同。PB + 3

TOP

小弟也來發一個

  1. @echo off
  2. for /f "delims=" %%a in ('type a.txt') do (
  3. call set var=%%a
  4. call echo %%var:他娘的=TMD%%
  5.                                           )
  6. pause>nul
复制代码
1

评分人数

TOP

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

评分人数

TOP

2楼的 我试验了,屏显可以完成显示。 但是a.txt文件中的文字没有更改。

请问怎么更改TXT文件中的文字。 用>>输出?

TOP

为什么用>不可以,必须用>>,看命令说明应该可以的。其中还有什么秘密么?

望哪位帮助回答下,小弟新学!

TOP

回复 22楼 的帖子

你可以测试以下两个例子:
  1. @echo off
  2. echo 1 >1.txt
  3. echo 2 >1.txt
  4. start 1.txt
  5. pause>nul&exit
复制代码
例2:
  1. @echo off
  2. echo 1 >>2.txt
  3. echo 2 >>2.txt
  4. start 2.txt
  5. pause>nul&exit
复制代码
观察1.txt 和 2.txt 的内容。
>:表示后面输入的内容会覆盖前面输入的内容。
>>:表示后面输入的内容不会覆盖前面输入的内容,会接在后面!

[ 本帖最后由 sjzong 于 2009-5-10 00:06 编辑 ]

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3. set /a n+=1
  4. set "s!n!=%%i"
  5. set "d=%%i"
  6. echo !d:他娘的=TND!
  7. )
  8. pause
  9. for /l %%i in (1 1 %n%) do call echo %%s%%i:他娘的=%%
  10. pause
复制代码
1

评分人数

    • wxcute: 小小鼓励下下。PB + 1

TOP

感谢楼上所有

学习了,就不贴了,现在知道SET %PATH:str1=str2%的用法了

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (a.txt) do (set b=%%i&echo !b:他娘的=TND! )
  4. echo,
  5. for /f "delims=" %%i in (a.txt) do (set b=%%i&echo !b:他娘的=! )
  6. PAUSE>nul
复制代码

[ 本帖最后由 wxcute 于 2009-8-16 13:25 编辑 ]
1

评分人数

    • wxcute: 下次用 CODE 时不要再用错了哦。PB + 1

TOP

  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do set var2=%%a&call echo %%var2:他娘的=TND%%
  3. for /f "delims=" %%a in (a.txt) do set var2=%%a&call echo %%var2:他娘的=%%
  4. pause>nul
复制代码

[ 本帖最后由 wayaoqiang 于 2009-8-17 21:07 编辑 ]

TOP

自己写的,应该没错吧  
@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省去,直接替代
谢谢

TOP

回复 28楼 的帖子

请用 CODE 将代码闭合
http://bbs.bathome.net/thread-404-1-1.html
如何用 code 把代码扩起来?


应该是不能,因为变量替换,这个 “变量” 都没有的话怎么替换呢!
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

for /f "tokens=*" %%i in (a.txt) do (
    set a=%%i
    set a=!a:他娘的=!
    echo !a!
set a=!a:他娘的=!这一句是什么意思啊??为什么要用!!

TOP

返回列表