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

[文件操作] 如何实现提取word标题或者第一行前几个字为文件名

遍历文件目录
如何实现提取word标题或者第一行前几个字为文件名

这个可以做吗,谢谢

  1. #@&cls&powershell "type '%~0'|out-string|iex"&pause&exit
  2. $a=New-Object -ComObject Shell.Application
  3. dir *.doc|%{
  4. $b=$a.namespace($_.directoryname)
  5. $c=$b.getdetailsof($b.parsename($_.name),21)
  6. ren $_.fullname "$($c+$_.extension)"
  7. }
复制代码

TOP

回复 2# idwma


    我在桌面上新建了一个为名      新建 Microsoft Word 文档.docx      的文件, 里面有标题文字,  执行上面的批处理后, 文件名没有变化

TOP

本帖最后由 5i365 于 2021-11-29 18:41 编辑

回复 2# idwma

大侠你的下面这行代码, 用的真是妙啊 , 另外几行代码, 看不太懂, 太精练了

    #@&cls&powershell "type '%~0'|out-string|iex"&pause&exit

TOP

回复 2# idwma


    dir *.doc
或者dir *.docx
两种一起查找,要怎么写呢

TOP

回复 4# 5i365


     dir *.doc
或者dir *.docx
两种一起查找,要怎么写呢

TOP

回复 2# idwma


    刚才看了一下, 把你代码里的.doc改为了.docx 改可以改名了, 但是文件名全删了, 变成了    .docx   真是怪了, 第一次看到没有文件名, 只有 扩展名的文件名

TOP

回复 7# 5i365


    不能用?

TOP

回复 8# swanseabrian


    嗯, 不能用, 执行命令后, 就没有文件名了, 你用我的下面的文件名试一下

新建 Microsoft Word 文档.docx

TOP

回复 6# swanseabrian


    ren : 当文件已存在时,无法创建该文件。
所在位置 行:6 字符: 1
+ ren $_.fullname "$($c+$_.extension)"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (C:\Users\Admini...检测卷新人教版_360.doc:String) [Rename-Item], IOException
    + FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

这是啥意思

TOP

回复 11# idwma


    刚试了,没改, 也没报错

TOP

回复 2# idwma


    你发的啥,看不到了怎么回事

TOP

本帖最后由 idwma 于 2021-11-30 14:08 编辑

回复 12# swanseabrian
换了一种方式只有office2003,docx没试
  1. #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
  2. $a=new-object -comobject word.application
  3. dir * -inc *.doc,*.docx|%{
  4. $b=$a.Documents.Open($_.fullname)
  5. $c=$b.range().text.trim().substring(0,5)+$_.extension #5是前5个字
  6. $b.close()
  7. ren $_.fullname $c
  8. }
  9. $a.quit()
复制代码

TOP

回复 13# idwma


    这次是OK的

TOP

回复 14# 5i365


    RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)
所在位置 行:4 字符: 1
+ $b=$a.Documents.Open($_.fullname)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: ( [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)
所在位置 行:5 字符: 1
+ $c=$b.range().text.trim().substring(0,5)+$_.extension #5是前5个字
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)
所在位置 行:6 字符: 1
+ $b.close()
+ ~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

ren : 当文件已存在时,无法创建该文件。
所在位置 行:7 字符: 1
+ ren $_.fullname $c
+ ~~~~~~~~~~~~~~~~~~

TOP

返回列表