中国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 楼』:  

http://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 楼』:  



  Quote:
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 楼』:  



  Quote:
...
@@在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符?
石塘县封妖师
@@以下哪个描述是正确的?
红名攻击白名会增加罪犯值
@@提升官府声望可以获得哪些职业的法宝?
力士
游侠

@@打开礼仪动作界面是哪个快捷键?
P键
...

请问楼主红色部分是不是要换行呀?



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

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


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



论坛跳转: