`
deepfuture
  • 浏览: 4412000 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80128
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70342
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103582
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:286551
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15054
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67785
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32292
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46075
社区版块
存档分类
最新评论

perl-将一个目录下的所有word文件写入多个TXT文件

阅读更多

#一个目录下的所有DOC文件写入多个TXT文件

#程序:刘兴
#时间:2010.3.19
#blog:http://deepfuture.iteye.com
#QQ:782322192
use 5.010;
use warnings;
use strict;
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
my $mydir='D:/深未来/文本挖掘/txt';
my @list = glob("$mydir/*.doc");

#笔者blog:http://deepfuture.iteye.com/
my $word = CreateObject Win32::OLE 'Word.Application' or die $!;
$word->{'Visible'} = 0;
my $mylist;
$|=1;
#笔者blog:http://deepfuture.iteye.com/
foreach $mylist(@list){
    my $txtfn=$mylist;
    $txtfn=~s/.doc/.txt/i;
    open MYTXT,">$txtfn";
    my $document = $word->Documents->Open("$mylist");
    my $countid=$document->Paragraphs->Count; #取得文档的段落数目
    my $id=1;
    say '';
    say "正在处理:$mylist=========>$txtfn";
    #笔者blog:http://deepfuture.iteye.com/
    while ($id<=$countid){
        my $paragraphs = $document->Paragraphs($id);
        print ".";
        if ($paragraphs)
        {
           my $myrange = $paragraphs->range;
           if ($myrange){
              my $mytext=$myrange->Text;
              if ($mytext){

                #笔者blog:http://deepfuture.iteye.com/
                 print MYTXT "$mytext\n"; #把某个目录下所有doc文件内容输出为一个文件 mytxt.txt
               }
           }
         }
        $id++;
    }
    if ($word->Documents) {
        $word->Documents->close;
        }
    close MYTXT;
}
$word->quit();

 

1
0
分享到:
评论

相关推荐

    神奇的perl-最佳PERL入门读物.pdf

    3. **word文件批量另存为txt**:这个实例展示了如何用Perl脚本批量处理Word文档,将其转换为纯文本格式。这体现了Perl在自动化办公任务中的实用性。 4. **Perl的语法**:这部分详细介绍了Perl的基础语法,包括变量...

    网管教程 从入门到精通软件篇.txt

    Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...

    Perl培训习题

    `将所有元素除以10。 **文件存取与文件系统** 1. **写入文件**:`open`函数用于打开文件,`print`用于写入,如`open my $fh, '&gt;&gt;', '/home/perl/test.1' or die $!; print $fh "$_\n";`追加内容。 2. **新增文件...

    2009 达内Unix学习笔记

    ls /etc/ 显示某目录下的所有文件和目录,如etc目录下的。 ls -l (list)列表显示文件(默认按文件名排序), 显示文件的权限、硬链接数(即包含文件数,普通文件是1,目录1+)、用户、组名、大小、修改日期、文件名。 ...

    PHP帮助文档word版本的

    数组则可以存储多个值,PHP支持索引数组、关联数组和多维数组,有array(), count(), sort()等操作数组的函数。 三、函数和类 PHP函数是可重用代码块,分为内置函数和用户自定义函数。内置函数如print_r()用于打印...

    Linux操作系统基础教程

    它本身就是一个完整的 32 位的多用户多任务操作 系统,因此不需要先安装 DOS 或其他的操作系统(MS Windows, OS2, MINIX..)就可以进 行直接的安装。 Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux ...

    2021-2022计算机二级等级考试试题及答案No.14538.docx

    具体步骤是将十进制数不断除以2,并保留每次除法后的余数,直到商为0为止,然后将所有余数逆序排列即可得到对应的二进制数。 - **示例**:十进制数58转换成二进制数的过程如下:58 ÷ 2 = 29...0,29 ÷ 2 = 14...1...

    exiftool:读取、写入和编辑元数据-开源

    它是一个基于Perl的库,同时也提供了一个命令行界面,使得用户能够方便地读取、写入和编辑包括JPEG、TIFF、PNG、PDF、RAW等多种文件格式中的EXIF(Exchangeable Image File Format)、IPTC(International Press ...

    NTKO文档在线编辑控件4.0.1.2

    3 新增可定制的文件菜单,可定制一个主菜单,禁止F12保存文档,可显示页码,页数信息的状态栏。 V2.5.2.1版本新增了可定制文件菜单,可定制一个主菜单。进一步增强了系统的可集成性。新增禁止F12快捷键保存文档,...

    2021-2022计算机二级等级考试试题及答案No.12527.docx

    计算机二级等级考试主要涵盖计算机基础知识、程序设计语言、数据库、网页制作、网络技术等多个方面的内容。以下是根据题目中给出的部分内容解析的相关知识点: 1. 流的概念:在Java中,`FileOutputStream`和`...

    2021-2022计算机二级等级考试试题及答案No.15272.docx

    - **解析**:在Windows操作系统中,确实可以通过`Alt+Esc`或`Alt+Tab`组合键在多个窗口之间进行切换。 ### 外存储器 - **正确选项**:错误 - **解析**:CD-ROM是一种只读存储器,只能读取数据,不能写入新数据。 ...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...

    2021-2022计算机二级等级考试试题及答案No.16641.docx

    9. 在数据库的三级模式结构中,一个数据库可以有多个外模式,这是用户视图,可以根据需求定制。 10. CustomValidator是验证控件,不能作为数据显示控件,而GridView、DataList和Repeater可以用来显示数据。 11. 在...

    2021-2022计算机二级等级考试试题及答案No.18173.docx

    1. **问题描述**:如果要从列表中选择所需的值,而不想浏览数据表或窗体中的所有记录,或者要一次指定多个准则即筛选条件,可以使用哪种筛选方法? - A. 按选定内容筛选 - B. 内容排除筛选 - C. 按窗体筛选 - D....

    java开源包1

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包10

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包11

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    2021-2022计算机二级等级考试试题及答案No.4825.docx

    计算机二级等级考试主要涵盖计算机基础知识、程序设计、数据库操作等多个方面。以下是根据提供的部分内容解析的知识点: 1. **窗体类型**:窗体是用户界面的一部分,常见的窗体类型包括纵栏式、表格式和数据表窗体...

    java开源包2

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

Global site tag (gtag.js) - Google Analytics