中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]替换文本内第五行双引号内的字符
« [1] [2] »
作者:
标题: [已解决]替换文本内第五行双引号内的字符 上一主题 | 下一主题
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『楼 主』:  [已解决]替换文本内第五行双引号内的字符

· 替换第5行双引号内的文字
· 第1行是空行
· 运行效果:提示用户输入,然后替换。

文件名是test.rc,内容如下:(其实那是修改“开始”按钮文字:))

  Quote:
STRINGTABLE
LANGUAGE LANG_CHINESE, 0x2
{
578,         "开始"
579,         "产生内部错误,正在使用的一个窗口已被关闭。"
580,         "限制"
581,         "本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系。"
590,         "隐藏您的不活动的通知图标..."
591,         "要查看隐藏的图标,请单击此按钮。"
}

[ Last edited by tireless on 2008-9-9 at 05:31 AM ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 1073 分数: +1  时间:2008-9-9 23:25


2008-9-8 12:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 2 楼』:  

你最好能把文本内容发上来..
不知道你第五行的具体情况。不好处理

2008-9-8 13:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

。。。改SHELL呀。。。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-9-8 14:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





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



  Quote:
Originally posted by slore at 2008-9-7 06:11 PM:
。。。改SHELL呀。。。

我就问这个问题。。。

其实我可以在命令行下修改开始文字,等着瞧吧。先告诉我这个

2008-9-8 14:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

shell都不知道改几年了。。。还是5个英文最合适哦(Slore),其他的都不好看,现在主题多也没有设置开始的字样显示了。


你echo前4行然后把第5行echo下,在把下面echo下。不可以麽?



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-9-8 14:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  


@echo off
set /p newname=请输入:
change "test.rc" /from \034* /to \034%newname%\034 /lines 5-5


   此帖被 +8 点积分        点击查看详情   
评分人:【 tireless 分数: +8  时间:2008-9-8 15:34




2008-9-8 15:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





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

试了,可以。

可不一定每个人的explore.exe的37号stringtable都相同,有英文、简体/繁体中文...
=========================
很奇怪,对 explorer.exe,Resource Hacker 不能覆盖修改它。(更奇怪的是,“开始”文字却会变,但重启explorer.exe 文字又变回原来的(我都把 c:\WINDOWS\system32\dllcache\explorer.exe 给重命名了。。。)

2008-9-8 15:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





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

---

[ Last edited by tireless on 2008-11-14 at 23:40 ]

2008-9-8 15:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





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



  Quote:
Originally posted by HAT at 2008-9-7 07:01 PM:
@echo off
set /p newname=请输入:
change "test.rc" /from \034* /to \034%newname%\034 /lines 5-5

如果输入的文字带空格,好像会出错。

2008-9-8 17:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  Re 9楼


@echo off
set /p newname=请输入:
change "test.rc" /from "\034*" /to "\034%newname%\034" /lines 5-5
[ Last edited by HAT on 2008-9-8 at 09:18 PM ]



2008-9-8 21:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





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

空格问题解决了。

===============================

还有输入的文字太长也不行,比如输入:

111111111111111111111111111111111111111111111111111111111111111111111111



离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。远芳侵古道,晴翠接荒城。又送王孙去,萋萋满别情。

这个跟change.exe有关吧。有没有其他工具可以替换文字的。(PS:这类工具真的好难懂。。。)

[ Last edited by tireless on 2008-9-8 at 01:33 AM ]

2008-9-8 21:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 12 楼』:  


@echo off
type nul>"test.tmp"
set /p newname=请输入:
sed "5s/\".*\"/\"%newname%\"/" "test.rc">>"test.tmp"
move /y "test.tmp" "test.rc"




2008-9-8 21:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:  

可不一定每个人的explore.exe的37号stringtable都相同,有英文、简体/繁体中文...

你把你得到RC文本读取前4行输出回去,然后在自己输出个第5行,然后skip=5输出后面,或者直接more输出个新的都是很容易的,和你里面是啥没有关系。


PS:VBS提供了很多字符串的操作函数。

PS又PS:建议修改注册表winlogon下的shell重定向explorer而不用替换原系统文件。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-9-9 13:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





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



  Quote:
Originally posted by slore at 2008-9-8 05:17 PM:
你把你得到RC文本读取前4行输出回去

如何读取前4行?

2008-9-9 21:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 15 楼』:  Re 14楼


@echo off
setlocal enabledelayedexpansion
set count=0
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "a.txt"') do (
  echo.%%b
  set /a count+=1
  if !count! equ 4 goto :eof
)




2008-9-9 21:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: