Board logo

标题: [文本处理] [已解决]批处理命令来读取一个c.ini里的部分内容,并分别输出到2个文本中去,怎么写? [打印本页]

作者: mmm8422616    时间: 2015-4-1 12:04     标题: [已解决]批处理命令来读取一个c.ini里的部分内容,并分别输出到2个文本中去,怎么写?

本帖最后由 mmm8422616 于 2015-4-1 17:24 编辑

想用批处理命令来读取一个c.ini里的部分内容,并分别输出到2个文本中去,怎么写?

这个c.ini的内容如下:
=======================================
[MovInfo]
英文名=Let Go For Love
主演=蔡卓妍 杜汶泽 念贤儿 洛诗 高骏 黄雅莉 李梦谦 唐国忠
地区=大陆
类型=爱情片
上映=2014
连载=0
推荐=1
简介=时尚杂志编辑张悦(蔡卓妍 饰)在赶着去陪好友蒋薇(洛施 饰)试婚纱的路上与一名男子抢出租车未果,等她到了婚纱店,竟发现那名男子是蒋薇的未婚夫蔡乐(高骏 饰)的伴郎,名叫陈启(杜汶泽 饰)。两人相互看不顺眼,斗得不亦乐乎。 <BR/>  蔡乐视蒋薇如珍宝,她却毫不收敛自己的大**脾气。张悦好言相劝,蒋薇不听不理。在这个问题上,张悦与陈启第一次达成共识,两个人不再对立,而是渐渐产生默契,爱意渐生。 <BR/>  蒋薇不改坏脾气,甚至对蔡乐母亲恶语相向,忍无可忍的蔡乐在与蒋薇大吵一架后伤心离去。失去蔡乐,蒋薇才意识到自己的错误,但是已经无力挽回。通过这件事,张悦与陈启意识到他们应该珍惜眼前人。 <BR/>  两个人正打算戳破之间这层薄薄的窗户纸,可恰在此时,张悦曾经深爱的前男友、摄影师何君(唐国忠 饰)回国,除了要与张悦再续前缘外,还送给她一个去美国顶级时尚杂志工作的机会。一边是极度渴望的工作,一边是刚刚萌芽的恋情,张悦不知该如何选择,陈启却为了张悦的幸福选择退出。 <BR/>  面对陈启的沉默,张悦十分心痛,她终于明白了自己想要的到底是什么,也做出了自己最终的选择。 <BR/>  爱情有时很脆弱,需要两个人用心去维护。时间未必会给所有错失的人都留下重来一次的机会,面对真挚的情感,一定要看清楚自己的内心,好好珍惜,好好爱护。
TVB=0
==========================================
c.ini里面的内容如上,需要输出“主演=”后面的内容到一个文本a.txt中,再输出“简介=”后面的内容到一个文本b.txt中,该怎么写批处理命令呢?谢谢!

我这是网吧里面的电影服务器,每部片子的文件夹下都有这样的c.ini文件,现在就是按照要求输出相应内容到a.txt、b.txt,并保存在该部电影的文件夹下。因为每个盘符下面有很多这样的以电影名字命名的文件夹,怎么样用批处理来批量完成?谢谢!
作者: pcl_test    时间: 2015-4-1 12:36

回复 1# mmm8422616
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /ad /s /b') do (
  4. cd /d "%%a"
  5. for /f "tokens=1* delims==" %%b in ('type *.ini') do (
  6. set "str=%%b"
  7. set "str=!str: =!"
  8. if "!str:~,3!" == "主演" >"主演.txt" echo,%%c
  9. if "!str:~,3!" == "简介" >"简介.txt" echo,%%c
  10. )
  11. )
复制代码

作者: mmm8422616    时间: 2015-4-1 17:23

谢谢老大 已经测试 完全可行
作者: DAIC    时间: 2015-4-1 18:33

使用 if ... else ... 可以提高效率
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /ad /s /b') do (
  4.     cd /d "%%a"
  5.     for /f "tokens=1* delims==" %%b in ('type *.ini') do (
  6.         set "str=%%b"
  7.         set "str=!str: =!"
  8.         if "!str:~,3!" == "主演" (
  9.             >"主演.txt" echo,%%c
  10.         ) else if "!str:~,3!" == "简介" (
  11.             >"简介.txt" echo,%%c
  12.         )
  13.     )
  14. )
复制代码

作者: mmm8422616    时间: 2015-4-1 19:53

我提出的这个求助,我还想再延伸一下!
同样,在电影文件夹下还有一个图片 xbs.jpg 跟.ini这个文件同目录 现在想实现这样的效果
还是读取.ini里的内容 读取的是 地区=大陆 (分大陆、港台、日韩、欧美、其他)
如果读取到大陆 就复制一个跟xbs.jpg同样的图片 图片名称命名为 !1.jpg
如果读取到港台 就复制一个跟xbs.jpg同样的图片 图片名称命名为 !2.jpg
如果读取到日韩 就复制一个跟xbs.jpg同样的图片 图片名称命名为 !3.jpg
如果读取到欧美 就复制一个跟xbs.jpg同样的图片 图片名称命名为 !4.jpg
如果读取到其他 就复制一个跟xbs.jpg同样的图片 图片名称命名为 !5.jpg
大概就是这样 不知道是否可以实现不?望再一次的帮助!
作者: pcl_test    时间: 2015-4-1 20:15

回复 5# mmm8422616
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /ad /s /b') do (
  4. cd /d "%%a"
  5. for /f "tokens=1* delims==" %%b in ('type *.ini') do (
  6. set "str=%%b"
  7. set "str=!str: =!"
  8. if "!str:~,3!" == "地区" (
  9. if %%c == 大陆 copy "xbs.jpg" "^!1.jpg"
  10. if %%c == 港台 copy "xbs.jpg" "^!2.jpg"
  11. if %%c == 日韩 copy "xbs.jpg" "^!3.jpg"
  12. if %%c == 欧美 copy "xbs.jpg" "^!4.jpg"
  13. if %%c == 其他 copy "xbs.jpg" "^!5.jpg"
  14. )
  15. if "!str:~,3!" == "主演" >"主演.txt" echo,%%c
  16. if "!str:~,3!" == "简介" >"简介.txt" echo,%%c
  17. )
  18. )
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2