
标题: [文件操作] 如何实现提取word标题或者第一行前几个字为文件名 [打印本页]
作者: swanseabrian 时间: 2021-11-29 17:20 标题: 如何实现提取word标题或者第一行前几个字为文件名
遍历文件目录
如何实现提取word标题或者第一行前几个字为文件名
这个可以做吗,谢谢
作者: idwma 时间: 2021-11-29 18:10
- #@&cls&powershell "type '%~0'|out-string|iex"&pause&exit
- $a=New-Object -ComObject Shell.Application
- dir *.doc|%{
- $b=$a.namespace($_.directoryname)
- $c=$b.getdetailsof($b.parsename($_.name),21)
- ren $_.fullname "$($c+$_.extension)"
- }
复制代码
作者: 5i365 时间: 2021-11-29 18:34
回复 2# idwma
我在桌面上新建了一个为名 新建 Microsoft Word 文档.docx 的文件, 里面有标题文字, 执行上面的批处理后, 文件名没有变化
作者: 5i365 时间: 2021-11-29 18:39
本帖最后由 5i365 于 2021-11-29 18:41 编辑
回复 2# idwma
大侠你的下面这行代码, 用的真是妙啊
, 另外几行代码, 看不太懂, 太精练了
#@&cls&powershell "type '%~0'|out-string|iex"&pause&exit
作者: swanseabrian 时间: 2021-11-29 18:40
回复 2# idwma
dir *.doc
或者dir *.docx
两种一起查找,要怎么写呢
作者: swanseabrian 时间: 2021-11-29 18:41
回复 4# 5i365
dir *.doc
或者dir *.docx
两种一起查找,要怎么写呢
作者: 5i365 时间: 2021-11-29 18:44
回复 2# idwma
刚才看了一下, 把你代码里的.doc改为了.docx 改可以改名了, 但是文件名全删了, 变成了 .docx 真是怪了, 第一次看到没有文件名, 只有 扩展名的文件名
作者: swanseabrian 时间: 2021-11-29 18:53
回复 7# 5i365
不能用?
作者: 5i365 时间: 2021-11-29 18:57
回复 8# swanseabrian
嗯, 不能用, 执行命令后, 就没有文件名了, 你用我的下面的文件名试一下
新建 Microsoft Word 文档.docx
作者: swanseabrian 时间: 2021-11-29 19:15
回复 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
这是啥意思
作者: swanseabrian 时间: 2021-11-29 20:15
回复 11# idwma
刚试了,没改, 也没报错
作者: swanseabrian 时间: 2021-11-29 21:56
回复 2# idwma
你发的啥,看不到了怎么回事
作者: idwma 时间: 2021-11-30 14:06
本帖最后由 idwma 于 2021-11-30 14:08 编辑
回复 12# swanseabrian
换了一种方式只有office2003,docx没试- #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
- $a=new-object -comobject word.application
- dir * -inc *.doc,*.docx|%{
- $b=$a.Documents.Open($_.fullname)
- $c=$b.range().text.trim().substring(0,5)+$_.extension #5是前5个字
- $b.close()
- ren $_.fullname $c
- }
- $a.quit()
复制代码
作者: 5i365 时间: 2021-11-30 14:32
回复 13# idwma
这次是OK的
作者: swanseabrian 时间: 2021-11-30 19:33
回复 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
+ ~~~~~~~~~~~~~~~~~~
作者: swanseabrian 时间: 2021-11-30 19:33
回复 13# idwma
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
+ ~~~~~~~~~~~~~~~~~~
这是啥问题 批量怎么就不行
作者: swanseabrian 时间: 2021-11-30 19:45
回复 14# 5i365
你那里ok?? 老铁?
作者: idwma 时间: 2021-12-1 09:02
回复 16# swanseabrian
没碰到过,不知道呀
作者: swanseabrian 时间: 2021-12-24 11:18
本帖最后由 swanseabrian 于 2021-12-24 12:12 编辑
回复 2# idwma
老铁,现在有这么个问题,powershell怎么解决?
a文件夹 a1文件夹 a1子文件夹1里图片数量 a1子文件夹2里图片数量 a文件夹创建时间
a文件夹 a2文件夹 a2子文件夹1里图片数量 a2子文件夹2里图片数量 a文件夹创建时间
a文件夹 a3文件夹 a3子文件夹1里图片数量 a3子文件夹2里图片数量 a文件夹创建时间
上面这是excel里的栏目顺序 5个栏目 我要的效果就上面的效果
现在要用程序
遍历文件夹来写入到相应的栏目
匹配到excel里对应到excel里的栏目,
这个powershell 如何实现呢
python效果太低了,
还是powershell效果高
谢谢
作者: idwma 时间: 2021-12-25 14:41
回复 19# swanseabrian
懵了没看懂
作者: swanseabrian 时间: 2021-12-25 15:20
回复 20# idwma
你看一下这个贴子,比较 清楚
https://fishc.com.cn/thread-207336-1-1.html
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |