Замените FTP на SFTP для передачи файлов - ТОЛЬКО PSFTP.EXE

Замените FTP на SFTP для передачи файлов - ТОЛЬКО PSFTP.EXE

В настоящее время я загружаю FTP'ingфайл на unix-бокс с windowsсервера. Я хочу изменить следующий раздел скрипта и перенести процесс ftp на sftp.

@echo off
echo user %user%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %filetobeuploaded% %filepath%%File%>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat %host%
del ftpcmd.dat
:END

Я PSFTP.EXEустановил в свой каталог Windows. Используя это, я могу отправлять файлы с SFTP?

Как мне заменить строку ftp -n -s:ftpcmd.dat %host%на SFTP. Я понимаю, что можно сделать что-то вроде этого....

CALL PSFTP.EXE [email protected] ....

Если кто-то знаком, пожалуйста, помогите мне его завершить. Какие аргументы мне следует привести. Сведения о пользователе, пароле, remotedir и хосте хранятся в файле свойств. Я хочу использовать ключи вместо пароля. Можете ли вы передать существующий аргумент ftpcmd.dat в psftp?

решение1

Вы также можете использовать WinSCP. Он поддерживает как SFTP, так и скрипты.

Смотритеруководство по конвертации скрипта Windows FTP в скрипт WinSCP SFTP.

Скрипт будет выглядеть так:

open sftp://%user%:%password%@%host%
put -transfer=binary %filetobeuploaded% %filepath%%File%
exit

Вы можете запустить скрипт следующим образом (если он сохранен в script.txt):

winscp.com /script=script.txt

Обратите внимание, что (в отличие от ftp.exe) переменные среды также разрешаются в скрипте WinSCP.

Если вы хотите использовать файл закрытого ключа, используйте:

open sftp://%user%@%host% -privatekey=path\key.ppk

(Я автор WinSCP)

Связанный контент