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

[其他] 批处理怎样提取所有文本部分内容再汇总?

在一文件夹内有很多文本,需要按文本名称或文本类型排列的先后顺序来提取里面部分内容汇集成一文本需要提取的关键词如下:带下划线词语
☆曾用名:佛塑股份->G佛塑->佛塑股份
◆ 行业地位 ◆               ◇万国测评制作:更新时间:2010-04-23◇

  佛塑股份(000973)所属行业:制造业->石油、化学、塑胶、塑料->塑料制造
                           业->塑料薄膜制造业

◆ 大股东进出 ◆               ◇万国测评制作:更新时间:2010-04-23◇

  前十名无限售条件股东       股东人数:51598         截止日期:2010-03-31
    名  称                           持股数(万股) 占流通股 增减情况 股本性质
  ─────────────────────────────────────
  1.佛山富硕宏信投资有限公司           4396.39   8.54%  -1136.84   流通A股
  2.广东省广新外贸集团有限公司         2975.36   5.78%      未变   流通A股
  3.华夏优势增长股票型证券投资基金     2939.46   5.71%      新进   流通A股
  4.华夏蓝筹核心混合型证券投资基金      900.33   1.75%      新进   流通A股
    (LOF)
  5.全国社保基金一零七组合              746.94   1.45%      新进   流通A股
  6.全国社保基金六零一组合              603.46   1.17%      新进   流通A股
  7.华夏回报证券投资基金                599.99   1.17%      新进   流通A股
  8.上投摩根成长先锋股票型证券投资      550.00   1.07%      新进   流通A股
    基金
  9.华夏行业精选股票型证券投资基金      500.00   0.97%      新进   流通A股
    (LOF)
10.罗嗣海                              446.50   0.87%      新进   流通A股
     总  计                           14658.42  28.48%
  ─────────────────────────────────────
汇总成以下显示效果:
☆曾用名:佛塑股份->G佛塑->佛塑股份
佛塑股份(000973)所属行业:制造业->石油、化学、塑胶、塑料->塑料制造业->塑料薄膜制造业---------------(将这里分成2段落除去变成这样一段)
◆ 大股东进出 ◆               ◇万国测评制作:更新时间:2010-04-23◇----(将这里空段落除去变成这样)
前十名无限售条件股东       股东人数:51598         截止日期:2010-03-31
    名  称                           持股数(万股) 占流通股 增减情况 股本性质
  ─────────────────────────────────────
  1.佛山富硕宏信投资有限公司           4396.39   8.54%  -1136.84   流通A股
  2.广东省广新外贸集团有限公司         2975.36   5.78%      未变   流通A股
  3.华夏优势增长股票型证券投资基金     2939.46   5.71%      新进   流通A股
  4.华夏蓝筹核心混合型证券投资基金      900.33   1.75%      新进   流通A股
    (LOF)
  5.全国社保基金一零七组合              746.94   1.45%      新进   流通A股
  6.全国社保基金六零一组合              603.46   1.17%      新进   流通A股
  7.华夏回报证券投资基金                599.99   1.17%      新进   流通A股
  8.上投摩根成长先锋股票型证券投资      550.00   1.07%      新进   流通A股
    基金
  9.华夏行业精选股票型证券投资基金      500.00   0.97%      新进   流通A股
    (LOF)
10.罗嗣海                              446.50   0.87%      新进   流通A股
     总  计                           14658.42  28.48%
  ─────────────────────────────────────

文件夹内全部都是txt文本,文本名称由600***-600999-601***-900***
另外一个文件夹由00001-000999和002***和200***
想提取后会成一个txt格式文本。
(将这里分段落除去变成这样)是原来指向两处有分两段和空段落的将其去掉,
在我测试文件中已经有一个汇总文本
测试文本:http://www.brsbox.com/filebox/up ... 771ed6cc955/dirids/
先谢过!!!

[ 本帖最后由 雷厉风行 于 2010-4-26 14:31 编辑 ]

这方面完全不懂,可以帮忙改一下吗

TOP

改了也是一样怎样修改

TOP

@echo off & setlocal enabledelayedexpansion
echo 在处理请耐心等待………………
cd /d D:\招商\RemoteSH\
echo.>汇总.tx&del 汇总.txt 1>nul 2>nul
for /f "tokens=*" %%x in ('dir /b *.txt') do (
set n=0
findstr "☆曾用名" "%%~x" >>汇总.tx
for /f "tokens=1 delims=:" %%a in ('findstr /n "大股东进出" "%%~x"') do set /a x1=%%a-1
for /f "tokens=1 delims=:" %%a in ('findstr /n "所属行业:" "%%~x"') do set /a xx1=%%a-1
for /f "tokens=1 delims=:" %%a in ('findstr /n "证监会行业:" "%%~x"') do set /a xx2=%%a-1
for /f "tokens=1 delims=:" %%a in ('findstr /n /c:"────────────" "%%~x"') do (
  if %%a gtr !x1! set /a n+=1
  if !n! lss 3 set /a x2=%%a+1
)
set xxx=  &call :x !xx1! "%%~x" !xx2!
echo.!xxx!>>汇总.tx
call :xx !x1! "%%~x" !x2!
echo.>>汇总.tx
)
ren 汇总.tx 汇总.txt
start 汇总.txt
exit
:x
for /f "skip=%1 tokens=1,* delims=: " %%a in ('findstr /n .* %2') do (
if %%a lss %3 (set xxx=!xxx!%%b) else (goto :eof)
)
:xx
for /f "skip=%1 tokens=1,* delims=:" %%a in ('findstr /n .* %2') do (
if %%a lss %3 (echo.%%b) else (goto :eof)
)>>汇总.tx

上面代码能将行业的分段落也可以提取,但不知为何部分文本总是不提取如600009这个代码。

@echo off & setlocal enabledelayedexpansion
echo 在处理请耐心等待………………
set "_s=  ─────────────────────────────────────"
for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
set "n="
(for /f "usebackq delims=" %%j in ("%%i") do (
    set "str=%%j"
    if "!str:☆曾用名=!" neq "%%j" echo;%%j
    if "!str:所属行业:=!" neq "%%j" echo;%%j
    if "!str: 大股东进出 =!" neq "%%j" set "m=0"
    if "!m!" equ "0" (
       set /a n+=1
       set "_!n!=%%j"
       if "!str:总  计=!" neq "%%j" set "m=1"
     )
   )
    for /l %%a in (1 1 !n!) do echo !_%%a!
    echo %_s%&echo;)>>汇总.txt
)
pause

这个出现2问题未能将行业的分段落内容提取和不按顺序提取问题出在600093开始接着本来是600094变成提取900***开头的,如何修改成按文件夹排列图标-类型的顺序就好。

上面公式基本完善只出现一个问题不按文本名称顺序提取,如何修改成按文件夹排列图标-类型的顺序或名称排序就好。问题自600093开始进入9字头。文本全部名称是由600000-600999-601***-900901--900**
提取文本按名称排序或类型排序也可以

TOP

哪位高手来写个或帮忙完善一下。

TOP

这批处理都搞了我10天了
文件夹内全部都是txt文本,代码有由600***-600999-601***-900***
另外一个文件夹由00001-000999和002***和200***
想提取后会成一个txt格式文本。
(将这里分段落除去变成这样)是原来有空段落的将其去掉,
在我测试文件中已经有一个汇总文本

[ 本帖最后由 雷厉风行 于 2010-4-26 14:04 编辑 ]

TOP

提取后的效果图

TOP

贾君鹏,你妈妈喊你回家吃饭”

TOP

去你妈妈的............

TOP

返回列表