![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 21:56 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]把某行固定字符串后面的字符串改成指定的字符串 |
| 可打印版本 3,154 / 25 |
| 第16楼 ktv98 | 发表于 2008-12-03 20:43 |
| 初级用户 发帖 81 积分 112 | |
Originally posted by lxmxn at 2008-12-2 03:27 AM: 我试了不行.一点反应都没有. |
|
| 第17楼 lxmxn | 发表于 2008-12-05 04:15 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by ktv98 at 2008-12-3 20:43: 天啊,快被你们这些人给气疯了!!!! 难道你一点脑筋都不肯动么???? 思考一下会瘦你几斤肉是吧? 我已经回答的这么详细了,还“一点反应都没有”!!!! 你看看我的这里,怎么就有反应呢? 我现在彻底的明白了为什么willsort,无奈何,3742668,est,9527,vkill,bjsh他们为什么要离开这里了! 唉。。。。。。。。。 D:\lxmxn\work\perl\test\new>type KuGoo.xml |
|
| 第18楼 ktv98 | 发表于 2008-12-05 09:37 |
| 初级用户 发帖 81 积分 112 | |
|
不好意思.让版主生气了.然道你以为我没有动脑吗?我也一直在寻找解决的办法.为解决这个问题我在论坛上一呆一天就是10几个小时.但问题好象并不是你所说的:"关于XML的问题还是用XML的工具比较合适"或许我对XML文件还不是很了解.但你好象并没有注意到出现乱码的问题.
但我还是觉的14楼的zh159说的对:"xml文件是UTF-8编码的,所以不能用BAT来处理 " 问题的关健是如向把UTF-8编码转换成ANSI编码.然后再按照9楼tireless写的代码处理就可以. 现在我其本上找到了解决方案.早上由于还要上班了.晚上回家再把代码发上来. 非常感谢版主关心.(另附我的 KuGoo.xml 文件) 烦请测试 [ Last edited by ktv98 on 2008-12-5 at 14:53 ] 附件 KuGoo.rar (1.67 KiB) |
|
| 第19楼 HAT | 发表于 2008-12-05 09:43 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 18楼 UTF-8转ANSI的方法,本论坛有。
我在制作电子书的时候也遇到了类似问题,但我没有UTF-8转ANSI,我用的sed,可以直接处理UTF-8嘿嘿。 |
|
| 第20楼 mkd | 发表于 2008-12-05 12:33 |
| 初级用户 发帖 30 积分 109 | |
| 第21楼 ktv98 | 发表于 2008-12-05 14:44 |
| 初级用户 发帖 81 积分 112 | |
Originally posted by mkd at 2008-12-5 12:33 PM: |
|
| 第22楼 ktv98 | 发表于 2008-12-08 13:01 |
| 初级用户 发帖 81 积分 112 | |
|
经过几天摸索其本解决安装目录下KuGoo.xml文件的修改问题.
要说明一下刚开始我没注意到安装目录下的KuGoo.xml文件是UTF-8编码的. 一开始用9楼tireless兄写的代码进行测试虽然要更换的字符串是可以更换成功了. 但是有的字符却变成乱码.特别是中文部分....出现这个情况. 我以为处理xml文件格式可能需要用xml文件的编辑工具才能完成 但是我对xml文件的编辑工具又不了解(如lxmxn版主所说的关于XML的问题还是用XML的工具比较合适.需要了解一点Xpath方面的知识。) 后来看到14楼zh159兄说:xml文件是UTF-8编码的,所以不能用BAT来处理 我就尝试把KuGoo.xml文件由UTF-8编码转成ANSI编码然后再看看行不行 搜索论坛找到fastslz兄写的文章.用他写的vbs代码将UTF-8编码转成ANSI编码.然后再按9楼tireless写的代码进行测试. 果然成功了.没有出现乱码.(因为乱码的KuGoo.xml文件.酷狗音乐2008的kugoo.exe是无法识别的.) 下面是我综合修改后的代码.希望对有需要的人有用 (非常感谢tireless zh159 fastslz lxmxn版主) 兰色部分是fastslz兄写的VBS代码稍作一点修改 (作用是将KuGoo.xml文件由UTF-8编码转成ANSI编码) 红色部分是9楼tireless兄写的代码 (作用是将<Plugin ModulesCount="0"/>改成 <Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/> @echo off taskkill /f /im KuGoo.exe Echo Set objArgs = WScript.Arguments > UTF82ANSI.vbs Echo For I = 0 To objArgs.Count - 1 >> UTF82ANSI.vbs Echo FileUrl = objArgs(I) >> UTF82ANSI.vbs Echo Call WriteToFile(FileUrl, ReadFile(FileUrl, "UTF-8"), "GB2312") >> UTF82ANSI.vbs Echo Next >> UTF82ANSI.vbs Echo Function ReadFile(FileUrl, CharSet) >> UTF82ANSI.vbs Echo Dim Str >> UTF82ANSI.vbs Echo Set stm = CreateObject("Adodb.Stream") >> UTF82ANSI.vbs Echo stm.Type = 2 >> UTF82ANSI.vbs Echo stm.mode = 3 >> UTF82ANSI.vbs Echo stm.charset = CharSet >> UTF82ANSI.vbs Echo stm.Open >> UTF82ANSI.vbs Echo stm.loadfromfile FileUrl >> UTF82ANSI.vbs Echo Str = stm.readtext >> UTF82ANSI.vbs Echo stm.Close >> UTF82ANSI.vbs Echo Set stm = Nothing >> UTF82ANSI.vbs Echo ReadFile = Str >> UTF82ANSI.vbs Echo End Function >> UTF82ANSI.vbs Echo Function WriteToFile (FileUrl, Str, CharSet) >> UTF82ANSI.vbs Echo Set stm = CreateObject("Adodb.Stream") >> UTF82ANSI.vbs Echo stm.Type = 2 >> UTF82ANSI.vbs Echo stm.mode = 3 >> UTF82ANSI.vbs Echo stm.charset = CharSet >> UTF82ANSI.vbs Echo stm.Open >> UTF82ANSI.vbs Echo stm.WriteText Str >> UTF82ANSI.vbs Echo stm.SaveToFile FileUrl, 2 >> UTF82ANSI.vbs Echo stm.flush >> UTF82ANSI.vbs Echo stm.Close >> UTF82ANSI.vbs Echo Set stm = Nothing >> UTF82ANSI.vbs Echo End Function >> UTF82ANSI.vbs for /f "delims=" %%a in ('dir /s /b /a-d "C:\Program Files"\KuGou\KuGou2008\KuGoo.xml') do UTF82ANSI.vbs "%%a" set xmlpath="C:\Program Files\KuGou\KuGou2008\KuGoo.xml" for /f "tokens=1,*" %%a in ('type %xmlpath%') do ( if "%%a" neq "<Plugin" (>>%temp%\#.xml echo.%%a%%b) else ( >>%temp%\#.xml echo.^<Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/^> ) ) move /y %temp%\#.xml %xmlpath% del UTF82ANSI.vbs exit /b |
|
| 第23楼 HAT | 发表于 2008-12-08 13:59 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 22楼 贴代码的时候能否加上code标签?
Q: 为方便他人复制,如何给代码加code标签? A: http://www.cn-dos.net/forum/viewthread.php?tid=43735#pid304733 参考:http://www.cn-dos.net/forum/faq.php?page=misc#1 |
|
| 第24楼 ktv98 | 发表于 2008-12-08 14:48 |
| 初级用户 发帖 81 积分 112 | |
Originally posted by HAT at 2008-12-8 01:59 PM: |
|
| 第25楼 vkill | 发表于 2009-05-01 01:46 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
重定向后编码确实不是utf-8 了,但是命令行下也有转换文件编码的工具啊,转一下不就好了
|
|
| 第26楼 ccccpp | 发表于 2009-05-11 11:53 |
| 新手上路 发帖 17 积分 17 | |
|
正想改一个XML的,学习了,谢谢!
|
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |