我正在尝试使用Powershell将3条纯文本行回显到文件中:

echo "#Generated" > psftp.scp
echo "put test.txt" >> psftp.scp
echo "quit" >> psftp.scp

然后,我使用psftp.exe批处理模式运行文件(执行SFTP中的命令),但是psftp看到无效字符时出错:
psftp: unknown command " ■#"

我想念什么?我可以在Windows记事本中手动键入文件,并且它(psftp)可以工作。无论我将第一行更改为(#Generated),它都会在第一部分中使用块符号得到此错误。

我尝试在带“显示所有符号”的NotePad ++中查看文件,但在正常行的末尾仅看到CR和LF。

最佳答案

尝试使用set / add-content而不是重定向。您可能还需要设置编码。

"#Generated" | set-content psftp.scp -Encoding Ascii
"put test.txt" | add-content psftp.scp -Encoding Ascii
"quit" | add-content psftp.scp -Encoding Ascii

08-27 07:30