You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Get-ChildItem获取的PDF文件逐个传入Convert-PDFtoText函数?

遍历PDF文件并传入转换函数的正确方法

问题根源

你之前的错误在于把目录路径($pdfDirectory)赋值给$file,并传给Convert-PDFtoText函数,但该函数需要的是具体的PDF文件路径/对象,而非目录,因此触发了文件找不到的错误。

两种正确实现方式

方式一:管道+ForEach-Object遍历

直接通过管道将Get-ChildItem输出的每个文件对象传递给转换函数:

$pdfDirectory = 'C:\PDF'
Get-ChildItem -Path $pdfDirectory -Filter *.pdf | ForEach-Object {
    # $_ 指代当前管道中的单个PDF文件对象
    Convert-PDFtoText $_
}

方式二:foreach语句遍历

先将所有PDF文件存入变量,再逐个处理:

$pdfDirectory = 'C:\PDF'
$pdfFiles = Get-ChildItem -Path $pdfDirectory -Filter *.pdf

foreach ($file in $pdfFiles) {
    Convert-PDFtoText $file
}

额外提示

  • Get-ChildItem返回的是FileInfo类型对象,多数处理文件的函数都能直接识别;如果你的Convert-PDFtoText仅接受字符串路径,可以改用$file.FullName传入。

内容的提问来源于stack exchange,提问作者mattread

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:27:21