powershell - PSFTP 未知命令 - PowerShelll 批处理任务 - Putty
问题描述
我希望你和你的家人一切都好——我一直在为这个我真的不明白的错误而苦苦挣扎。
这是我创建的 PowerShell 脚本,用于使用 PSFTP 将文件上传到 ftp 服务器
$path="C:\Users\jhosef.cardich\Desktop\sol\psftp.exe"
$comd1= "lcd C:\Users\jhosef.cardich\Desktop\sol\"
$upload_result = ($comd1) | & $path -pw $pass "$user@$hst" 2> $
$comd2="put myfile,txt"
$upload_result+= $comd2 | & $path -pw $pass "$user@$hst" 2> $
$upload_result | Out-File -FilePath "C:\Users\jhosef.cardich\Desktop\sol\sftp.txt" -Append
"DateTime Stamp - Upload: $(Get-Date)" | Out-File -FilePath "C:\Users\jhosef.cardich\Desktop\sol\sftp.txt" -Append
这是我每次运行代码时得到的输出:(我希望您专注于第二行)
Remote working directory is /download
psftp> psftp: unknown command "ktop\sol\"
psftp> quit
Remote working directory is /download
psftp> quit
DateTime Stamp - Upload: 11/18/2020 21:21:49
如您所见,我不明白为什么在第二行中出现错误“未知命令”,并且似乎 psftp 仅检测到我定义了路径的字符串的一部分。我也尝试了这个实现,但我得到了同样的错误(从 powershell 调用多个命令,例如 psftp)。
解决方案
对此更新:问题是由于服务器上的某些配置导致正在执行包含 putty 命令的脚本。
确切地说,这是 Windows 受信任主机的问题,由于某种原因,我们不知道我们用来连接 putty 的 FTP 主机是如何从该列表中删除的。
我们注意到,当我们尝试打开与 Filezilla 的连接时,它会提示一个通知,要求我们信任并将 FTP 域添加到 Windows 受信任的主机列表中。当我们接受这一点时,突然脚本又可以正常工作了。很奇怪,但我的建议是使用 WinScp 而不是 putty。谢谢。
推荐阅读
- python - 将列表中的每个元素乘以特定数字
- python - python 抓取新闻文章时出现 ArticleException 错误
- python - 带有一组任务的芹菜异常“TimeLimitExceeded”
- python - 如何为我的移动平均函数添加权重?
- php - 在 if 语句中回显?
- macos - 在针对 Mac App Store 的 macOS 应用程序中,是否允许使用 sysctlbyname 来获取当前的 Mac 型号?
- python - 任何想法如何制作一个将简单命令放入操作系统的 Python 程序
- linux - 升级到 pop_os 失败!20.04
- rcpparmadillo - RcppAmadillo中uword和整数之间的操作
- vue.js - 如何改进 Nuxt.js 支持的网站以获取 Google PageSpeed 洞察