中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【已解决】关于文件中指定内容替换的问题
作者:
标题: 【已解决】关于文件中指定内容替换的问题 上一主题 | 下一主题
zuoyuanchun
新手上路





积分 11
发帖 8
注册 2009-2-21
状态 离线
『楼 主』:  【已解决】关于文件中指定内容替换的问题

源文件内容: Q(0)="不装备法宝,将不能使用?" A(0)="战斗技能" Q(1)="在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符?" A(1)="石塘县封妖师" Q(2)="以下哪个描述是正确的?" A(2)="红名攻击白名会增加罪犯值" Q(3)="提升官府声望可以获得哪些职业的法宝?" A(3)="力士,游侠" Q(4)="打开礼仪动作界面是哪个快捷键? " A(4)="P键" …… …… 替换成: @@不装备法宝,将不能使用? 战斗技能 @@在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符? 石塘县封妖师 @@以下哪个描述是正确的? 红名攻击白名会增加罪犯值 @@提升官府声望可以获得哪些职业的法宝? 力士 游侠 @@打开礼仪动作界面是哪个快捷键? P键 问题好像很复杂,况且我对批处理不太了解,多谢大家帮忙 补充:文件名是1.txt 测试了两位的不好用啊 还有这里面的问题里面有数字的,但是这些数字不能删除的。 [ Last edited by zuoyuanchun on 2009-2-27 at 04:30 ]


2009-2-26 01:43
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 2 楼』:  没还测试过,不知行不?

@echo off&setlocal enabledelayedexpansion for /f "tokens=1,* delims==" %%a in (源文件) do set str=%%a&call :sub!str:~0,1! %%~b goto :eof :subQ echo @@%* goto :eof :subA echo.%1 shift if "%1"=="" goto :eof goto :subA [ Last edited by netbenton on 2009-2-26 at 12:12 ]




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-26 02:34
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

sed "s/^Q([0-9]*)=\x22/@@/;s/^A([0-9]*)=\x22//;s/\x22$//" your_text_file


2009-2-26 05:25
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zuoyuanchun
新手上路





积分 11
发帖 8
注册 2009-2-21
状态 离线
『第 4 楼』:  

upload.cn-dos.net/img/1331.txt 我已经上传上来了,大家直接帮忙编写个批处理处理一下吧,谢谢


2009-2-26 08:49
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 5 楼』:  

@echo on&setlocal enabledelayedexpansion ( for /f "tokens=1,* delims==" %%a in (ch.txt) do set str=%%a&call :sub!str:~0,1! %%~b )>ch2.txt pause goto :eof :subQ echo @@%* goto :eof :subA echo.%1 shift if "%~1"=="" goto :eof goto :subA




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-26 14:11
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 6 楼』:  

@echo off
setlocal enabledelayedexpansion
set "srcfl=1.txt"
for /f "tokens=1,* delims==" %%a in (%srcfl%) do (
  set "str=%%a"
  if /i "!str:~,1!"=="q" (
    echo.@@%%~b
  ) else (
    echo.%%~b
  )
)>>11.txt
start 11.txt


   此帖被 +1 点积分    点击查看详情   
评分人:【 zuoyuanchun 分数: +1  时间:2009-2-27 04:25


2009-2-26 22:51
查看资料  发短消息  网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 7 楼』:  

@echo off
(
  for /f "tokens=1,* delims==" %%a in (1.txt) do (
    if "%%a" gtr "Q" (echo @@%%~b) else echo %%~b
  )
)>1_new.txt


   此帖被 +1 点积分    点击查看详情   
评分人:【 zuoyuanchun 分数: +1  时间:2009-2-27 04:26


2009-2-27 01:22
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zuoyuanchun
新手上路





积分 11
发帖 8
注册 2009-2-21
状态 离线
『第 8 楼』:  

Originally posted by moniuming at 2009-2-26 22:51: [code]@echo off setlocal enabledelayedexpansion set "srcfl=1.txt" for /f "tokens=1,* delims==" %%a in (%srcfl%) do ( set "str=%%a" if /i "!str:~,1!" ...
这个不错,至少能看懂是什么意思,学习了


2009-2-27 04:30
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 9 楼』:  

@echo off
(for /f "tokens=1,2* delims=()=" %%i in (1.txt) do (
    if /i "%%i"=="Q" (echo @@%%~k) ELSE echo %%~k
))>1_new.txt
pause




简单!简单!再简单!
2009-2-27 04:32
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 10 楼』:  

... @@在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符? 石塘县封妖师 @@以下哪个描述是正确的? 红名攻击白名会增加罪犯值 @@提升官府声望可以获得哪些职业的法宝? 力士 游侠 @@打开礼仪动作界面是哪个快捷键? P键 ...
请问楼主红色部分是不是要换行呀?




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-27 09:06
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: