标题: [已结]把某行固定字符串后面的字符串改成指定的字符串
[打印本页]
作者: ktv98
时间: 2008-11-30 23:38
标题: [已结]把某行固定字符串后面的字符串改成指定的字符串
如何把某行固定字符串后面的字符改成指定字符串
我做了一个酷狗2008音效插件.我将它放在酷狗2008目录下.我自己定文件夹名为ktv98
现在我要更改酷狗2008安装目录下的KuGoo.xml文件的内容.只想更改其中一行,
(KuGoo.xml文件的内容是随着每个人对酷狗2008设置的方式不同而随之改变的)
这一行默认的内容是: <Plugin ModulesCount="0"/>
假设 <Plugin 是固定的字符. <Plugin 后面的字符是不固定的.也就是说ModulesCount="0"/> 是不固定的可能是别的字符.
我现在要将 <Plugin 后面的内容改为PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/>
让它变成 <Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/>
请问如何写批处理。设 KuGoo.xml的路径是"C:\Program Files\KuGou\KuGou2008\KuGoo.xml" 谢谢
下面是我的KuGoo.xml文件的内容:(红色部份就是要修改的地方)
<?xml version="1.0" encoding="UTF-8"?>
<KuGoo version="5.0">
<Misc DefaultDownPath="F:\KuGou\"/>
<Player Mute="0" Volume="100" PlayListFormVisible="1" EQFormVisible="0" LRCFormVisible="1" WebFormVisible="1" MiniMode="0" NewMainFormRect="36,20,336,617" MiniFormRect="200,0,500,500" PlayListFormRect="0,0,0,0" EQFormRect="188,174,488,334" LRCFormRect="0,0,0,0" NewWebFormRect="336,20,984,617" MiniLRCWidth="320" ActivePlayList="0" ActivePlayIndex="0" PlayListMgrWidth="90" PlayListMgrVisible="1" PlayListAutoShift="0" PlayListMode="2" PlayingProgress="0"/>
<Equalizer Enable="0" PreampValue="0" BalanceValue="50" EQSound3DValue="0" PresetIndex="0" BandsGain="0,0,0,0,0,0,0,0,0,0"/>
<Lyric LRCSavePath="C:\Program Files\KuGou\KuGou2008\Lyric\" LRCStayOnTop="1" AutoShowLRC="1" AutoSaveLRCModify="1" LRCShowStyle="1" DragLRCSetPlayPosition="1" LRCBlendValue="3" LRCFontInfo="宋体, -12, []" LRCTextColor="15829251" LRCScrollColor="32767" LRCBGColor="16777215" KalaAutoClassic="0" KalaFontInfo="黑体, -39, [Bold]" KalaShowHint="1" KalaAntilias="1" KalaSingleLine="0" KalaUnplayedColors="44287,255,170" KalaPlayedColors="10813439,65535,1729791" LRCKalaRect="36,620,986,740" KalaAlpha="255"/>
<Plugin ModulesCount="0"/>
<Associates Enabled="1">
<FileExt>KGM</FileExt>
<FileExt>MP1</FileExt>
<FileExt>MP2</FileExt>
<FileExt>MP3</FileExt>
<FileExt>WMA</FileExt>
<FileExt>WAV</FileExt>
<FileExt>OGG</FileExt>
<FileExt>APE</FileExt>
<FileExt>M3U</FileExt>
<FileExt>FLAC</FileExt>
<FileExt>CDA</FileExt>
<FileExt>KRC</FileExt>
</Associates>
<AudioDevice DeviceType="0" DeviceIndex="0"/>
<General TaskBarScrollText="1" MagneticSize="10" GlobalHotKeyActionMsg="1" WebBillClickMsg="1" FadeInShowForms="1" MiniToTrayOnClose="1" AutoRun="0" AutoCopyLyric="1" ShowInMSN="1" ShowCustomInfoInMSN="0" ShowKGNews="1" SOEMUrl1="http://music.sogua.com/soguaplayer/paihang.htm" SOEMUrl2="http://music.sogua.com/soguaplayer/shoucang.htm" RunTimes="1" HasUsed="0" PromptSync="1" LRCEncode="0" ShowPopupAd="1"/>
<PlayBack AutoPlay="0" AutoStopWhenError="1" PlayPriority="0" ContinueLastPlayProgress="0" LastPlayListID="-1" LastPlayFileID="-1" RecentPlayed="50" AutoPlaySearchOne="1" CacheNext="1" RestartOnPrevious="0"/>
<PlayList DisableDelFile="0" ItemInfoHint="1" EnablePlaylistDrag="1"/>
<Network StopP2P="0" NetType="0" ProxyType="0" ProxyPort="0" DownPort="26401" DownSpeed="230" UpSpeed="-1" MinBand="1" MaxDown="3"/>
<HotKey GlobalHotKey="1" KeyMap0="选项|112|0" KeyMap1="播放/暂停|116|49268" KeyMap2="上一曲|16421|49189" KeyMap3="下一曲|16423|49191" KeyMap4="停止播放|117|49269" KeyMap5="模式切换|16461|49229" KeyMap6="增大声音|16422|49190" KeyMap7="减少声音|16424|49192" KeyMap8="静音开关|16467|49235" KeyMap9="歌词窗口|113|0" KeyMap10="播放文件|16463|0" KeyMap11="添加文件|49222|0" KeyMap12="添加文件夹|16464|0" KeyMap13="查找歌曲|32838|0" KeyMap14="查找下一个|32846|0" KeyMap15="快速定位文件|32849|0" KeyMap16="搜索歌词|16460|0" KeyMap17="浏览文件|16450|0" KeyMap18="上传播放列表|16469|0" KeyMap19="下载播放列表|16452|0" KeyMap20="重新排列播放器窗口|16471|49239"/>
<Skin AdjustColor="#000000"/>
<Info data1="000000000000"/>
<PersonalInfo OwnUserID="0" InfoVersion="0" Sex="0" Age="0"/>
</KuGoo>
[
Last edited by ktv98 on 2008-12-8 at 12:52 ]
作者: lxmxn
时间: 2008-12-1 01:34
标题: TO: ktv98
关于XML的问题还是用XML的工具比较合适,处理也方便,需要了解一点Xpath方面的知识。
xml ed -u "/KuGoo/Plugin/@ModulesCount" -v "1" -i "/KuGoo/Plugin" -t "attr" -n "PluginPath" -v "C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\\" -i "/KuGoo/Plugin" -t "attr" -n "Module0" -v "dsp_ktv1.dll|0" KuGoo.xml | xml fo
上面的 xml 工具可以从
vkill 的个人站 下载。
作者: tireless
时间: 2008-12-1 01:39
@echo off
set xmlpath="C:\Program Files\KuGou\KuGou2008\KuGoo.xml"
for /f "usebackq tokens=1,*" %%a in (%xmlpath%) do (
if "%%a" neq "<Plugin" (>>aaaaa.txt echo.%%a%%b) else (
>>aaaaa.txt echo.^<Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/^>
)
)
exit /b
作者: ktv98
时间: 2008-12-1 01:40
谢谢!tireless
但是aaaaa.txt文件的内容却变成如下....很多地方字符都变成乱码.特别是中文部分
而且C:\Program Files\KuGou\KuGou2008\KuGoo.xml 的内容并没有改变
锘??xmlversion="1.0" encoding="UTF-8"?>
<KuGooversion="5.0">
<MiscDefaultDownPath="F:\KuGou\"/>
<PlayerMute="0" Volume="100" PlayListFormVisible="1" EQFormVisible="0" LRCFormVisible="1" WebFormVisible="1" MiniMode="0" NewMainFormRect="36,20,336,617" MiniFormRect="200,0,500,500" PlayListFormRect="0,0,0,0" EQFormRect="210,203,510,363" LRCFormRect="0,0,0,0" NewWebFormRect="336,20,984,617" MiniLRCWidth="320" ActivePlayList="0" ActivePlayIndex="0" PlayListMgrWidth="90" PlayListMgrVisible="1" PlayListAutoShift="0" PlayListMode="2" PlayingProgress="0"/>
<EqualizerEnable="0" PreampValue="0" BalanceValue="50" EQSound3DValue="0" PresetIndex="0" BandsGain="0,0,0,0,0,0,0,0,0,0"/>
<LyricLRCSavePath="C:\Program Files\KuGou\KuGou2008\Lyric\" LRCStayOnTop="1" AutoShowLRC="1" AutoSaveLRCModify="1" LRCShowStyle="1" DragLRCSetPlayPosition="1" LRCBlendValue="3" LRCFontInfo="瀹嬩綋, -12, []" LRCTextColor="15829251" LRCScrollColor="32767" LRCBGColor="16777215" KalaAutoClassic="0" KalaFontInfo="榛戜綋, -39, [Bold]" KalaShowHint="1" KalaAntilias="1" KalaSingleLine="0" KalaUnplayedColors="44287,255,170" KalaPlayedColors="10813439,65535,1729791" LRCKalaRect="36,620,986,740" KalaAlpha="255"/>
<Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/>
<AssociatesEnabled="1">
<FileExt>KGM</FileExt>
<FileExt>MP1</FileExt>
<FileExt>MP2</FileExt>
<FileExt>MP3</FileExt>
<FileExt>WMA</FileExt>
<FileExt>WAV</FileExt>
<FileExt>OGG</FileExt>
<FileExt>APE</FileExt>
<FileExt>M3U</FileExt>
<FileExt>FLAC</FileExt>
<FileExt>CDA</FileExt>
<FileExt>KRC</FileExt>
</Associates>
<AudioDeviceDeviceType="0" DeviceIndex="0"/>
<GeneralTaskBarScrollText="1" MagneticSize="10" GlobalHotKeyActionMsg="1" WebBillClickMsg="1" FadeInShowForms="1" MiniToTrayOnClose="1" AutoRun="0" AutoCopyLyric="1" ShowInMSN="1" ShowCustomInfoInMSN="0" ShowKGNews="1" SOEMUrl1="http://music.sogua.com/soguaplayer/paihang.htm" SOEMUrl2="http://music.sogua.com/soguaplayer/shoucang.htm" RunTimes="1" HasUsed="0" PromptSync="1" LRCEncode="0" ShowPopupAd="1"/>
<PlayBackAutoPlay="0" AutoStopWhenError="1" PlayPriority="0" ContinueLastPlayProgress="0" LastPlayListID="-1" LastPlayFileID="-1" RecentPlayed="50" AutoPlaySearchOne="1" CacheNext="1" RestartOnPrevious="0"/>
<PlayListDisableDelFile="0" ItemInfoHint="1" EnablePlaylistDrag="1"/>
<NetworkStopP2P="0" NetType="0" ProxyType="0" ProxyPort="0" DownPort="29921" DownSpeed="230" UpSpeed="-1" MinBand="1" MaxDown="3"/>
<HotKeyGlobalHotKey="1" KeyMap0="閫夐」|112|0" KeyMap1="鎾斁/鏆傚仠|116|49268" KeyMap2="涓婁竴鏇瞸16421|49189" KeyMap3="涓嬩竴鏇瞸16423|49191" KeyMap4="鍋滄鎾斁|117|49269" KeyMap5="妯″紡鍒囨崲|16461|49229" KeyMap6="澧炲ぇ澹伴煶|16422|49190" KeyMap7="鍑忓皯澹伴煶|16424|49192" KeyMap8="闈欓煶寮€鍏硘16467|49235" KeyMap9="姝岃瘝绐楀彛|113|0" KeyMap10="鎾斁鏂囦欢|16463|0" KeyMap11="娣诲姞鏂囦欢|49222|0" KeyMap12="娣诲姞鏂囦欢澶箌16464|0" KeyMap13="鏌ユ壘姝屾洸|32838|0" KeyMap14="鏌ユ壘涓嬩竴涓獆32846|0" KeyMap15="蹇€熷畾浣嶆枃浠秥32849|0" KeyMap16="鎼滅储姝岃瘝|16460|0" KeyMap17="娴忚鏂囦欢|16450|0" KeyMap18="涓婁紶鎾斁鍒楄〃|16469|0" KeyMap19="涓嬭浇鎾斁鍒楄〃|16452|0" KeyMap20="閲嶆柊鎺掑垪鎾斁鍣ㄧ獥鍙16471|49239"/>
<SkinAdjustColor="#000000"/>
<Infodata1="000000000000"/>
<PersonalInfoOwnUserID="0" InfoVersion="0" Sex="0" Age="0"/>
</KuGoo>
[
Last edited by ktv98 on 2008-12-1 at 01:45 ]
作者: ktv98
时间: 2008-12-1 01:51
Quote: |
Originally posted by lxmxn at 2008-12-1 01:34 AM:
关于XML的问题还是用XML的工具比较合适,处理也方便,需要了解一点Xpath方面的知识。
[code]xml ed -u "/KuGoo/Plugin/@ModulesCount" -v "1" -i &quo ... |
|
里面工具太多不知道用那一种.因为急需.没时间来的及了解Xpath方面的知识。
不过还是感谢.
作者: lxmxn
时间: 2008-12-1 01:52
Quote: |
Originally posted by ktv98 at 2008-12-1 01:51:
里面工具太多不知道用那一种.因为急需.没时间来的及了解Xpath方面的知识。
不过还是感谢. |
|
http://www.vkill.net/tools/xmlstarlet_1.0.1.rar
作者: ktv98
时间: 2008-12-1 02:00
我试了好象不行.
KuGoo.xml 内容还是一样.没改过来.
作者: lxmxn
时间: 2008-12-1 02:08
Quote: |
Originally posted by ktv98 at 2008-12-1 02:00:
我试了好象不行.
KuGoo.xml 内容还是一样.没改过来. |
|
xml 不会帮你修改源文件的,把结果重定向(>)到新文件,然后(move)覆盖源文件即可。
作者: tireless
时间: 2008-12-1 02:10
Quote: |
但是aaaaa.txt文件的内容却变成如下....很多地方字符都变成乱码.特别是中文部分
而且C:\Program Files\KuGou\KuGou2008\KuGoo.xml 的内容并没有改变 |
|
再试试:@echo off
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%
exit /b
作者: ktv98
时间: 2008-12-1 02:17
Quote: |
Originally posted by tireless at 2008-12-1 02:10 AM:
再试试:
[code]@echo off
set xmlpath="C:\Program Files\KuGou\KuGou2008\KuGoo.xml"
for /f "tokens=1,*" %%a in ('type %xmlpath%') do (
if "%%a& ... |
|
现在KuGoo.xml 内容是改过来了. 但还是有乱码
锘??xmlversion="1.0" encoding="UTF-8"?>
<KuGooversion="5.0">
<MiscDefaultDownPath="F:\KuGou\"/>
<PlayerMute="0" Volume="100" PlayListFormVisible="1" EQFormVisible="0" LRCFormVisible="1" WebFormVisible="1" MiniMode="0" NewMainFormRect="36,20,336,617" MiniFormRect="200,0,500,500" PlayListFormRect="0,0,0,0" EQFormRect="254,261,554,421" LRCFormRect="0,0,0,0" NewWebFormRect="336,20,984,617" MiniLRCWidth="320" ActivePlayList="0" ActivePlayIndex="0" PlayListMgrWidth="90" PlayListMgrVisible="1" PlayListAutoShift="0" PlayListMode="2" PlayingProgress="0"/>
<EqualizerEnable="0" PreampValue="0" BalanceValue="50" EQSound3DValue="0" PresetIndex="0" BandsGain="0,0,0,0,0,0,0,0,0,0"/>
<LyricLRCSavePath="C:\Program Files\KuGou\KuGou2008\Lyric\" LRCStayOnTop="1" AutoShowLRC="1" AutoSaveLRCModify="1" LRCShowStyle="1" DragLRCSetPlayPosition="1" LRCBlendValue="3" LRCFontInfo="瀹嬩綋, -12, []" LRCTextColor="15829251" LRCScrollColor="32767" LRCBGColor="16777215" KalaAutoClassic="0" KalaFontInfo="榛戜綋, -39, [Bold]" KalaShowHint="1" KalaAntilias="1" KalaSingleLine="0" KalaUnplayedColors="44287,255,170" KalaPlayedColors="10813439,65535,1729791" LRCKalaRect="36,620,986,740" KalaAlpha="255"/>
<Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/>
<AssociatesEnabled="1">
<FileExt>KGM</FileExt>
<FileExt>MP1</FileExt>
<FileExt>MP2</FileExt>
<FileExt>MP3</FileExt>
<FileExt>WMA</FileExt>
<FileExt>WAV</FileExt>
<FileExt>OGG</FileExt>
<FileExt>APE</FileExt>
<FileExt>M3U</FileExt>
<FileExt>FLAC</FileExt>
<FileExt>CDA</FileExt>
<FileExt>KRC</FileExt>
</Associates>
<AudioDeviceDeviceType="0" DeviceIndex="0"/>
<GeneralTaskBarScrollText="1" MagneticSize="10" GlobalHotKeyActionMsg="1" WebBillClickMsg="1" FadeInShowForms="1" MiniToTrayOnClose="1" AutoRun="0" AutoCopyLyric="1" ShowInMSN="1" ShowCustomInfoInMSN="0" ShowKGNews="1" SOEMUrl1="http://music.sogua.com/soguaplayer/paihang.htm" SOEMUrl2="http://music.sogua.com/soguaplayer/shoucang.htm" RunTimes="1" HasUsed="0" PromptSync="1" LRCEncode="0" ShowPopupAd="1"/>
<PlayBackAutoPlay="0" AutoStopWhenError="1" PlayPriority="0" ContinueLastPlayProgress="0" LastPlayListID="-1" LastPlayFileID="-1" RecentPlayed="50" AutoPlaySearchOne="1" CacheNext="1" RestartOnPrevious="0"/>
<PlayListDisableDelFile="0" ItemInfoHint="1" EnablePlaylistDrag="1"/>
<NetworkStopP2P="0" NetType="0" ProxyType="0" ProxyPort="0" DownPort="20629" DownSpeed="230" UpSpeed="-1" MinBand="1" MaxDown="3"/>
<HotKeyGlobalHotKey="1" KeyMap0="閫夐」|112|0" KeyMap1="鎾斁/鏆傚仠|116|49268" KeyMap2="涓婁竴鏇瞸16421|49189" KeyMap3="涓嬩竴鏇瞸16423|49191" KeyMap4="鍋滄鎾斁|117|49269" KeyMap5="妯″紡鍒囨崲|16461|49229" KeyMap6="澧炲ぇ澹伴煶|16422|49190" KeyMap7="鍑忓皯澹伴煶|16424|49192" KeyMap8="闈欓煶寮€鍏硘16467|49235" KeyMap9="姝岃瘝绐楀彛|113|0" KeyMap10="鎾斁鏂囦欢|16463|0" KeyMap11="娣诲姞鏂囦欢|49222|0" KeyMap12="娣诲姞鏂囦欢澶箌16464|0" KeyMap13="鏌ユ壘姝屾洸|32838|0" KeyMap14="鏌ユ壘涓嬩竴涓獆32846|0" KeyMap15="蹇€熷畾浣嶆枃浠秥32849|0" KeyMap16="鎼滅储姝岃瘝|16460|0" KeyMap17="娴忚鏂囦欢|16450|0" KeyMap18="涓婁紶鎾斁鍒楄〃|16469|0" KeyMap19="涓嬭浇鎾斁鍒楄〃|16452|0" KeyMap20="閲嶆柊鎺掑垪鎾斁鍣ㄧ獥鍙16471|49239"/>
<SkinAdjustColor="#000000"/>
<Infodata1="000000000000"/>
<PersonalInfoOwnUserID="0" InfoVersion="0" Sex="0" Age="0"/>
</KuGoo>
[
Last edited by ktv98 on 2008-12-3 at 21:19 ]
作者: ktv98
时间: 2008-12-1 02:22
Quote: |
Originally posted by lxmxn at 2008-12-1 02:08 AM:
xml 不会帮你修改源文件的,把结果重定向(>)到新文件,然后(move)覆盖源文件即可。 |
|
如何重定向
作者: HAT
时间: 2008-12-1 09:57
标题: Re 11楼
建议查看基础教程中关于>和>>的讲解:
批处理室教程收集专用帖
作者: andyfly888
时间: 2008-12-1 10:37
来学习,高手
作者: zh159
时间: 2008-12-1 17:22
Quote: |
Originally posted by tireless at 2008-12-1 02:10:
再试试:
[code]@echo off
set xmlpath="C:\Program Files\KuGou\KuGou2008\KuGoo.xml"
for /f "tokens=1,*" %%a in ('type %xmlpath%') do (
if "%%a& ... |
|
xml文件是UTF-8编码的,所以不能用BAT来处理
作者: lxmxn
时间: 2008-12-2 03:27
@echo off
xml ed -u "/KuGoo/Plugin/@ModulesCount" -v "1" -i "/KuGoo/Plugin" -t "attr" -n "PluginPath" -v "C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\\" -i "/KuGoo/Plugin" -t "attr" -n "Module0" -v "dsp_ktv1.dll|0" KuGoo.xml | xml fo > #.xml
move /y #.xml KuGoo.xml
这样成不?
作者: ktv98
时间: 2008-12-3 20:43
Quote: |
Originally posted by lxmxn at 2008-12-2 03:27 AM:
@echo off
xml ed -u "/KuGoo/Plugin/@ModulesCount" -v "1" -i "/KuGoo/Plugin" -t "attr" -n "PluginPath" -v "C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\\" -i "/KuGoo/Plugin" -t "attr" -n "Module0" -v "dsp_ktv1.dll|0" KuGoo.xml | xml fo > #.xml
move /y #.xml KuGoo.xml |
|
我试了不行.一点反应都没有.
作者: lxmxn
时间: 2008-12-5 04:15
Quote: |
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
锘??xml version="1.0" encoding="UTF-8"?>
<KuGoo version="5.0">
<Misc DefaultDownPath="F:\KuGou\"/>
<Player Mute="0" Volume="100" PlayListFormVisible="1" EQFormVisible="0" LRCFormVisible="1" WebFormVisible="1" MiniMo
<Equalizer Enable="0" PreampValue="0" BalanceValue="50" EQSound3DValue="0" PresetIndex="0" BandsGain="0,0,0,0,0,0,0,
<Lyric LRCSavePath="C:\Program Files\KuGou\KuGou2008\Lyric\" LRCStayOnTop="1" AutoShowLRC="1" AutoSaveLRCModify="1"
<Plugin ModulesCount="0"/>
<Associates Enabled="1">
<FileExt>KGM</FileExt>
<FileExt>MP1</FileExt>
<FileExt>MP2</FileExt>
<FileExt>MP3</FileExt>
<FileExt>WMA</FileExt>
<FileExt>WAV</FileExt>
<FileExt>OGG</FileExt>
<FileExt>APE</FileExt>
<FileExt>M3U</FileExt>
<FileExt>FLAC</FileExt>
<FileExt>CDA</FileExt>
<FileExt>KRC</FileExt>
</Associates>
<AudioDevice DeviceType="0" DeviceIndex="0"/>
<General TaskBarScrollText="1" MagneticSize="10" GlobalHotKeyActionMsg="1" WebBillClickMsg="1" FadeInShowForms="1" M
<PlayBack AutoPlay="0" AutoStopWhenError="1" PlayPriority="0" ContinueLastPlayProgress="0" LastPlayListID="-1" LastP
<PlayList DisableDelFile="0" ItemInfoHint="1" EnablePlaylistDrag="1"/>
<Network StopP2P="0" NetType="0" ProxyType="0" ProxyPort="0" DownPort="26401" DownSpeed="230" UpSpeed="-1" MinBand="
<HotKey GlobalHotKey="1" KeyMap0="閫夐」|112|0" KeyMap1="鎾斁/鏆傚仠|116|49268" KeyMap2="涓婁竴鏇瞸16421|49189" Ke
<Skin AdjustColor="#000000"/>
<Info data1="000000000000"/>
<PersonalInfo OwnUserID="0" InfoVersion="0" Sex="0" Age="0"/>
</KuGoo>
D:\lxmxn\work\perl\test\new>type doit.bat
@echo off
xml ed -u "/KuGoo/Plugin/@ModulesCount" -v "1" -i "/KuGoo/Plugin" -t "attr" -n "PluginPath" -v "C:\Program Files\KuGou
move /y #.xml KuGoo.xml
D:\lxmxn\work\perl\test\new>doit.bat
移动了 1 个文件。
D:\lxmxn\work\perl\test\new>type KuGoo.xml
<?xml version="1.0" encoding="UTF-8"?>
<KuGoo version="5.0">
<Misc DefaultDownPath="F:\KuGou\"/>
<Player Mute="0" Volume="100" PlayListFormVisible="1" EQFormVisible="0" LRCFormVisible="1" WebFormVisible="1" MiniMo
<Equalizer Enable="0" PreampValue="0" BalanceValue="50" EQSound3DValue="0" PresetIndex="0" BandsGain="0,0,0,0,0,0,0,
<Lyric LRCSavePath="C:\Program Files\KuGou\KuGou2008\Lyric\" LRCStayOnTop="1" AutoShowLRC="1" AutoSaveLRCModify="1"
<Plugin ModulesCount="1" PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" Module0="dsp_ktv1.dll|0"/>
<Associates Enabled="1">
<FileExt>KGM</FileExt>
<FileExt>MP1</FileExt>
<FileExt>MP2</FileExt>
<FileExt>MP3</FileExt>
<FileExt>WMA</FileExt>
<FileExt>WAV</FileExt>
<FileExt>OGG</FileExt>
<FileExt>APE</FileExt>
<FileExt>M3U</FileExt>
<FileExt>FLAC</FileExt>
<FileExt>CDA</FileExt>
<FileExt>KRC</FileExt>
</Associates>
<AudioDevice DeviceType="0" DeviceIndex="0"/>
<General TaskBarScrollText="1" MagneticSize="10" GlobalHotKeyActionMsg="1" WebBillClickMsg="1" FadeInShowForms="1" M
<PlayBack AutoPlay="0" AutoStopWhenError="1" PlayPriority="0" ContinueLastPlayProgress="0" LastPlayListID="-1" LastP
<PlayList DisableDelFile="0" ItemInfoHint="1" EnablePlaylistDrag="1"/>
<Network StopP2P="0" NetType="0" ProxyType="0" ProxyPort="0" DownPort="26401" DownSpeed="230" UpSpeed="-1" MinBand="
<HotKey GlobalHotKey="1" KeyMap0="閫夐」|112|0" KeyMap1="鎾斁/鏆傚仠|116|49268" KeyMap2="涓婁竴鏇瞸16421|49189" Ke
<Skin AdjustColor="#000000"/>
<Info data1="000000000000"/>
<PersonalInfo OwnUserID="0" InfoVersion="0" Sex="0" Age="0"/>
</KuGoo>
D:\lxmxn\work\perl\test\new>
作者: ktv98
时间: 2008-12-5 09:37
不好意思.让版主生气了.然道你以为我没有动脑吗?我也一直在寻找解决的办法.为解决这个问题我在论坛上一呆一天就是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 ]
附件
1:
KuGoo.rar (2008-12-5 14:53, 1.67 K,下载次数: 3)
作者: HAT
时间: 2008-12-5 09:43
标题: Re 18楼
UTF-8转ANSI的方法,本论坛有。
我在制作电子书的时候也遇到了类似问题,但我没有UTF-8转ANSI,我用的sed,可以直接处理UTF-8嘿嘿。
作者: mkd
时间: 2008-12-5 12:33
findstr /v "<Plugin.*/> </KuGoo>" KuGoo.xml>KuGoo-new.xml
>>KuGoo-new.xml echo ^<Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\" ModulesCount="1" Module0="dsp_ktv1.dll|0"/^>
>>KuGoo-new.xml echo ^</KuGoo^>
作者: ktv98
时间: 2008-12-5 14:44
Quote: |
Originally posted by mkd at 2008-12-5 12:33 PM:
[code]
findstr /v "<Plugin.*/> </KuGoo>" KuGoo.xml>KuGoo-new.xml
>>KuGoo-new.xml echo ^<Plugin PluginPath="C:\Program Files\KuGou\KuGou2008\ktv98\Plugins\&q ... |
|
试了不行
作者: ktv98
时间: 2008-12-8 13:01
经过几天摸索其本解决[酷狗音乐2008]安装目录下KuGoo.xml文件的修改问题.
要说明一下刚开始我没注意到[酷狗音乐2008]安装目录下的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
作者: HAT
时间: 2008-12-8 13:59
标题: 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
作者: ktv98
时间: 2008-12-8 14:48
一直想知道的方法.谢谢HAT版主
作者: vkill
时间: 2009-5-1 01:46
重定向后编码确实不是utf-8 了,但是命令行下也有转换文件编码的工具啊,转一下不就好了
作者: ccccpp
时间: 2009-5-11 11:53
正想改一个XML的,学习了,谢谢!