我有一个批处理文件,用于通过SFTP将文件从本地PC移动到服务器.我的系统中安装了PuTTY,后面是批处理文件代码.
cd C:\Program Files (x86)\PuTTY
psftp
open <IP>
<user>
<PW>
cd /home/irisuser/iris/integration/dls_dlsblr_dlschnn_in_msg/in
lcd d:\
put log.sh
bye
Run Code Online (Sandbox Code Playgroud)
当我在命令提示符下键入它时,上面的代码完全有效.但是,当我双击该.bat文件并运行它时,它没有运行并要求输入用户名和密码.我的目标是自动化整个事情,我需要通过简单地单击.bat文件来运行它.但我无法实现它.任何想法或片段都会对我有所帮助.
我希望将C:\Users\myuser\Downloads\SFTP本地 Windows 文件夹中的所有文件上传到远程 SFTP 服务器myfolder目录。
我在 Windows 上运行 sftp 并实现上述目标时遇到多个问题。
以下是我的命令:
C:\putty\psftp.exe -b C:\putty\sftp_commands.txt -l myuser -pw mypass 10.8.44.86
Run Code Online (Sandbox Code Playgroud)
这是我的C:\putty\sftp_commands.txt文件:
mkdir myfolder
cd myfolder
lcd "C:\Users\myuser\Downloads\SFTP"
put "C:\Users\myuser\Downloads\SFTP\*.*"
Run Code Online (Sandbox Code Playgroud)
尽管该文件存在于我的本地 Windows 上,但我收到“无法打开”错误。
C:\Users\myuser\Downloads\SFTP\*.*当我更改为时,这有效C:\Users\myuser\Downloads\SFTP\file1.txt。
C:\Users\myuser\Desktop>C:\putty\psftp.exe -b C:\putty\sftp_commands.txt -l myuser -pw mypass 10.8.44.86
Using username "myuser".
Pre-authentication banner message from server:
| EFT Server Enterprise 7.3.2.8
End of banner message from server
Keyboard-interactive authentication prompts from server:
End of keyboard-interactive prompts from server
Remote …Run Code Online (Sandbox Code Playgroud) 首先,这可能不是权限问题。您可以检查图像,看看在大多数情况下,我有权在通向文件的各级目录和文件本身上进行读写。
问题可能不是我发送两个文件夹的权限,因为我在远程服务器上创建了一个新文件夹来将文件发送到。除此之外我有点困惑
尝试使用以下命令从 PowerShell 连接到 SFTP 服务器时,我收到以下消息psftp:
错误:
psftp.exe :服务器的主机密钥未缓存在注册表中。您无法保证服务器就是您认为的计算机。
服务器的rsa2密钥指纹为:ssh-rsa 2048 41289438190410491
连接被放弃。
PowerShell 脚本:
$Username = "Username"
$Password = "Password"
psftp.exe sftpserver -l $Username -pw $Password -batch -bc -b C:\batch\download.bat
Run Code Online (Sandbox Code Playgroud)
(psftp.exe 存储在 c:\windows\system32 中)
我之前已经通过 PuTTY 和 WinSCP 从该服务器 SSH 到该服务器,没有出现任何问题。但是,通过 PowerShell 运行时它不会连接。
我必须将一个完整的文件夹从一个来源移动到另一目的地。
我已经尝试过mget *和xcopy,但是都没有用。请提出一些摘要。
我正在psftp用来连接SFTP服务器。
我的代码是:
cd Remote path
lcd Local path
mget *
bye
Run Code Online (Sandbox Code Playgroud)
我也曾尝试mget*和mget *.*。
psftp ×5
sftp ×4
putty ×2
batch-file ×1
cmd ×1
download ×1
file-upload ×1
powershell ×1
ssh ×1
windows ×1