![PowerShell 意外令牌错误](https://linux22.com/image/1586332/PowerShell%20%E6%84%8F%E5%A4%96%E4%BB%A4%E7%89%8C%E9%94%99%E8%AF%AF.png)
问题:我在 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 上进行更深入的搜索后,找到了这个 问题;它为我提供了更正。非常快,比 Adobe 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"
}