找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 75855|回复: 15

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

[复制链接]
发表于 2013-9-9 15:48:09 | 显示全部楼层 |阅读模式
我这里有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>

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-9-9 17:02:58 | 显示全部楼层
发现最近你和XML杠了,哈哈
 楼主| 发表于 2013-9-9 17:08:26 | 显示全部楼层
回复 2# 林小七

是呀!你会吗?交流下吧!
 楼主| 发表于 2013-9-13 16:50:19 | 显示全部楼层
各位大大,帮个忙行吗?很急呀!
发表于 2013-9-13 20:55:57 | 显示全部楼层
  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>
复制代码
 楼主| 发表于 2013-9-14 23:49:14 | 显示全部楼层
回复 5# DAIC


    这个代码不行呀,dimens.xml里怎么只有这6行呀!其它的内容要一项都不能少的呀!可能是我没有说清楚。要保留原dimens.xml内的所有内容。再多出从dimens1.xml移动过来的那6行的。
发表于 2013-9-15 08:40:37 | 显示全部楼层
回复 6# ttrrf
真为楼主的表述着急,可能跟你不懂批处理编程有关吧,你要复制的这些行在第二个文件中有何规律?是固定在这些行吗?还是说内容本身就是固定的?如果本身就是固定的,那就没必要说在第二个文件中了。复制到第一个文件,是覆盖掉原内容,还是追加到文件尾?这个帖子能拖到现在,跟你表述不清有很大关系。至少我第一次看到的时候是直接略过了…
 楼主| 发表于 2013-9-15 20:42:16 | 显示全部楼层
回复 7# weichenxiehou


    是这样的,你把我压缩包里两个文件进行对比,你就知道了。我是要把其中一个文件里的独立的项移到另一个文件里。当然手动是没问题,我是想用bat自动修改下,省点力的。
发表于 2013-9-15 21:52:22 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2013-9-16 21:46:25 | 显示全部楼层
回复 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>之中,这个也就等于没用的。决定出错的。
发表于 2013-9-17 00:36:23 | 显示全部楼层
所谓“带红色的文字复制或者移动到dimens.xml文件里面”,那么复制到开头、结尾或者中间都可以,你为何妄言“出错”?
 楼主| 发表于 2013-9-17 05:52:29 | 显示全部楼层
本帖最后由 ttrrf 于 2013-9-17 05:58 编辑

回复 11# apang


    对了,这是手机里面apk反编译出来的资源文件,有严格的定义,稍有点位置不对或者没有定义在该有的位置就无发回编回apk安装包的。麻烦大大再改下代码,使移动到中间位置也就是resources>-----</resources>之中的任何位置,不胜感激!
发表于 2013-9-17 10:49:42 | 显示全部楼层
  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技术 +2 收起 理由
ttrrf + 1 乐于助人
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-9-17 11:41:04 | 显示全部楼层
回复 13# apang


    感谢大大,我晚上回去测试!能否留下QQ号,好联系哈!
发表于 2013-9-17 15:42:48 | 显示全部楼层
回复 14# ttrrf


    有问题就在论坛上面讨论吧,这样也好给其他人一个学习的机会。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 00:25 , Processed in 0.023085 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表