[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】如何用bat把xml里的部分内容转移到另一个xml里面。

我这里有dimens.xml,dimens1.xml两个文件,dimens1.xml的内容里带红色的文字复制或者移动到dimens.xml文件里面然后再删除dimens1.xml。这又如何实现呀?麻烦大大帮忙?
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="config_icon_width">60.0dip</dimen>
    <dimen name="config_icon_height">60.0dip</dimen>
    <dimen name="workspace_cell_padding_bottom">18.0dip</dimen>
    <dimen name="workspace_widget_padding_top">0.0dip</dimen>
    <dimen name="workspace_widget_padding_bottom">17.0dip</dimen>
    <dimen name="workspace_widget_cell_min_height">85.0dip</dimen>
   
<dimen name="workspace_padding_top">3.0dip</dimen>
    <dimen name="workspace_padding_side">8.5dip</dimen>   
<dimen name="workspace_margin_bottom">83.0dip</dimen>
    <dimen name="hotseats_padding_side">7.0dip</dimen>
    <dimen name="hotseats_padding_bottom">0.0dip</dimen>
    <dimen name="hotseats_height">90.0dip</dimen>
    <dimen name="folder_preview_top_margin">6.0dip</dimen>
    <dimen name="folder_content_margin_bottom">13.0dip</dimen>
    <dimen name="folder_content_margin_top">13.0dip</dimen>
    <dimen name="icon_title_padding_bottom">8.0dip</dimen>
    <item type="dimen" name="workspace_icon_text_shadow_radius">2.0</item>
    <item type="dimen" name="workspace_icon_text_shadow_dx">0.0</item>
    <item type="dimen" name="workspace_icon_text_shadow_dy">1.0</item>
    <dimen name="free_style_apps_btn_text_size">11.0sp</dimen>
    <dimen name="workspace_cell_padding_bottom_min">13.0dip</dimen>
    <dimen name="workspace_seekbar_height">10.0dip</dimen>
    <dimen name="folder_preview_width">48.0dip</dimen>
    <dimen name="folder_preview_height">48.0dip</dimen>
    <dimen name="folder_header_padding_left">10.0dip</dimen>
    <dimen name="folder_header_padding_right">14.0dip</dimen>
    <dimen name="folder_header_padding_bottom">3.0dip</dimen>
    <dimen name="workspace_icon_text">12.0sp</dimen>
    <dimen name="weather_city_text_size">13.0dip</dimen>
    <dimen name="weather_aqi_text_size">13.0dip</dimen>
    <dimen name="weather_date_text_size">13.0dip</dimen>
</resources>
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

发现最近你和XML杠了,哈哈
活着就是为了改变世界

TOP

回复 2# 林小七

是呀!你会吗?交流下吧!

TOP

各位大大,帮个忙行吗?很急呀!

TOP

  1. @echo off
  2. more +5 "%~f0" > dimens.xml
  3. del /f /q /a dimens1.xml
  4. goto :eof
  5. <dimen name="workspace_widget_padding_top">0.0dip</dimen>
  6. <dimen name="workspace_widget_padding_bottom">17.0dip</dimen>
  7. <dimen name="workspace_widget_cell_min_height">85.0dip</dimen>
  8. <dimen name="workspace_padding_side">8.5dip</dimen>
  9. <dimen name="hotseats_padding_side">7.0dip</dimen>
  10. <dimen name="workspace_icon_text">12.0sp</dimen>
复制代码

TOP

回复 5# DAIC


    这个代码不行呀,dimens.xml里怎么只有这6行呀!其它的内容要一项都不能少的呀!可能是我没有说清楚。要保留原dimens.xml内的所有内容。再多出从dimens1.xml移动过来的那6行的。

TOP

回复 6# ttrrf
真为楼主的表述着急,可能跟你不懂批处理编程有关吧,你要复制的这些行在第二个文件中有何规律?是固定在这些行吗?还是说内容本身就是固定的?如果本身就是固定的,那就没必要说在第二个文件中了。复制到第一个文件,是覆盖掉原内容,还是追加到文件尾?这个帖子能拖到现在,跟你表述不清有很大关系。至少我第一次看到的时候是直接略过了…
看得多说得多,远比不上写得多。

TOP

回复 7# weichenxiehou


    是这样的,你把我压缩包里两个文件进行对比,你就知道了。我是要把其中一个文件里的独立的项移到另一个文件里。当然手动是没问题,我是想用bat自动修改下,省点力的。

TOP

  1. @echo off
  2. (for /f "delims=>" %%a in (dimens.xml) do echo,%%a)>$
  3. (for /f "delims=>" %%a in (dimens1.xml) do echo,%%a)>$1
  4. findstr /ivxg:$ $1>$2
  5. findstr /ig:$2 dimens1.xml>>dimens.xml
  6. del $*
  7. pause
复制代码

TOP

回复 9# apang

这位兄台的代码可以把独立项转到另一个文件里面,但是你看看:
   <?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="config_icon_width">68.0dip</dimen>
    <dimen name="config_icon_height">68.0dip</dimen>
    <dimen name="workspace_cell_padding_bottom">35.0dip</dimen>
    <dimen name="workspace_padding_top">11.0dip</dimen>
    <dimen name="workspace_margin_bottom">100.5dip</dimen>
    <dimen name="hotseats_padding_bottom">7.0dip</dimen>
    <dimen name="hotseats_height">98.0dip</dimen>
    <dimen name="folder_preview_top_margin">8.5dip</dimen>
    <dimen name="folder_content_margin_bottom">2.0dip</dimen>
    <dimen name="folder_content_margin_top">2.0dip</dimen>
    <dimen name="icon_title_padding_bottom">0.0dip</dimen>
    <item type="dimen" name="workspace_icon_text_shadow_radius">2.0</item>
    <item type="dimen" name="workspace_icon_text_shadow_dx">0.0</item>
    <item type="dimen" name="workspace_icon_text_shadow_dy">3.8</item>
    <dimen name="free_style_apps_btn_text_size">13.0sp</dimen>
    <dimen name="hotseats_padding_top">0.0dip</dimen>
    <dimen name="workspace_icon_text_size">13.0sp</dimen>
    <dimen name="workspace_cell_padding_bottom_min">25.0dip</dimen>
    <dimen name="workspace_seekbar_height">20.0dip</dimen>
    <dimen name="folder_preview_width">51.0dip</dimen>
    <dimen name="folder_preview_height">51.0dip</dimen>
    <dimen name="folder_header_padding_left">23.0dip</dimen>
    <dimen name="folder_header_padding_right">24.0dip</dimen>
    <dimen name="folder_header_padding_bottom">8.0dip</dimen>
    <dimen name="weather_city_text_size">14.0dip</dimen>
    <dimen name="weather_aqi_text_size">14.0dip</dimen>
    <dimen name="weather_date_text_size">14.0dip</dimen>
</resources>
    <dimen name="workspace_widget_padding_top">0.0dip</dimen>
    <dimen name="workspace_widget_padding_bottom">17.0dip</dimen>
    <dimen name="workspace_widget_cell_min_height">85.0dip</dimen>
    <dimen name="workspace_padding_side">8.5dip</dimen>
    <dimen name="hotseats_padding_side">7.0dip</dimen>
    <dimen name="workspace_icon_text">12.0sp</dimen>

红色的没有放入<resources>-----</resources>之中,这个也就等于没用的。决定出错的。

TOP

所谓“带红色的文字复制或者移动到dimens.xml文件里面”,那么复制到开头、结尾或者中间都可以,你为何妄言“出错”?

TOP

本帖最后由 ttrrf 于 2013-9-17 05:58 编辑

回复 11# apang


    对了,这是手机里面apk反编译出来的资源文件,有严格的定义,稍有点位置不对或者没有定义在该有的位置就无发回编回apk安装包的。麻烦大大再改下代码,使移动到中间位置也就是resources>-----</resources>之中的任何位置,不胜感激!

TOP

  1. @echo off
  2. (for /f "delims=>" %%a in (dimens.xml) do echo,%%a)>$
  3. (for /f "delims=>" %%a in (dimens1.xml) do echo,%%a)>$1
  4. findstr /ivxg:$ $1>$2
  5. (for /f "delims=" %%a in (dimens.xml) do (
  6.     if /i "%%a"=="</resources>" findstr /ig:$2 dimens1.xml
  7.     echo,%%a
  8. ))>$
  9. move $ dimens.xml
  10. del $* dimens1.xml
  11. pause
复制代码
2

评分人数

TOP

回复 13# apang


    感谢大大,我晚上回去测试!能否留下QQ号,好联系哈!

TOP

回复 14# ttrrf


    有问题就在论坛上面讨论吧,这样也好给其他人一个学习的机会。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表