如何修改PowerShell脚本实现单目录TIF转独立PDF(不合并)
单个目录TIF转独立PDF脚本修改方案
当然可以轻松实现需求,以下是调整后的PowerShell脚本及关键修改说明:
修改后的完整脚本
$srcfolder = "C:\Work\SW\Powershell\TIF\" $convertPath = "C:\Program Files\ImageMagick\convert.exe" $compressArg = "-compress Group4" Write-Host "开始转换单个TIF文件为独立PDF..." # 获取目标目录下所有TIF文件(仅文件,不含子目录) $tifFiles = Get-ChildItem -Path $srcfolder -Filter "*.tif" -File foreach ($tifFile in $tifFiles) { # 生成对应PDF文件路径(替换原文件扩展名为pdf) $pdfPath = Join-Path -Path $srcfolder -ChildPath ($tifFile.BaseName + ".pdf") # 调用ImageMagick执行单个文件转换 & $convertPath $tifFile.FullName $compressArg $pdfPath Write-Host "已完成转换: $($tifFile.Name) -> $($pdfPath | Split-Path -Leaf)" } Write-Host "所有文件转换完成!"
关键修改点说明
- 目标范围调整:不再遍历多个目录,直接获取
$srcfolder下的所有TIF文件(-File参数确保只处理文件,避免误操作目录)。 - 单个文件转换:循环处理每个TIF文件,为每个文件生成独立的PDF(用原文件名替换扩展名),不再合并文件。
- 路径写法优化:修正了ImageMagick路径的转义问题,直接使用合法的路径字符串,更易维护。
- 安全调用命令:用
&直接执行convert.exe,替代原脚本的Invoke-Expression,避免潜在的命令注入风险。 - 移除危险操作:删除了原脚本中
Remove-Item -Recurse的目录删除逻辑,避免误删文件或目录。
内容的提问来源于stack exchange,提问作者Elroy Taulton
相关产品推荐
相关产品推荐

