PowerShell 意外令牌错误

PowerShell 意外令牌错误

问题:我在 Windows 10 中通过 PowerShell ISE 运行以下脚本

cd C:\Users\xyz\Desktop\pdfs
$FILES= ls *.pdf
foreach ($f in $FILES) {
  "C:\Program Files\xpdf-tools-win-4.01.01\bin32\pdftotext.exe" -enc UTF-8 "$f"
}

我收到以下错误

  • 表达式或语句中出现意外标记“enc”
  • 表达式或语句中出现意外标记“UTF-8”

我该如何纠正这些错误?


我怀疑,虽然我并不确定,错误是由于错误的“或’标记造成的。我尝试了以下更改

cd C:\Users\xyz\Desktop\pdfs
$FILES= ls *.pdf
foreach ($f in $FILES) {
  "C:\Program Files\xpdf-tools-win-4.01.01\bin32\pdftotext.exe -enc UTF-8 $f"
}

;令人惊讶的是,它执行了,但未能生成任何文本文件,而我期望这些文件可以在文件夹 ...\pdfs 中找到。

参考

答案1

解决方案:我漏掉了一个 & 符号。在 Stack Overflow 上进行更深入的搜索后,找到了这个 问题;它为我提供了更正。非常快,比 Adob​​e Acrobat DC 中的任何原生程序都快得多!

cd C:\Users\xyz\Desktop\pdfs
$FILES= ls *.pdf
foreach ($f in $FILES) {
  & "C:\Program Files\xpdf-tools-win-4.01.01\bin32\pdftotext.exe" -enc UTF-8 "$f"
}

相关内容