Получить файлы с последней датой с SFTP-сервера, используя WinSCP в пакетном файле - PullRequest
1 голос
/ 24 сентября 2019

Привет, я новичок в WinSCP и Batch.Я разработал скрипт для переноса папки с SFTP-сайта на мой компьютер, но хотел бы получить только последние файлы с сервера.

Это будет автоматизированный процесс, который я планирую запустить вместо необходимости вручную обновлять.

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\Users\xxxxxx\Desktop\WinSCP.log" /ini=nul ^
  /command ^
    "open sftp://User:PW@Location.org/ -hostkey=""ssh-dss 1024 /xx/xxxxx/xxxxx=""" ^
    "cd /" ^
    "lcd C:\Users\xxxxxx\Desktop" ^
    "get folder1" ^
    "get folder2"^
    "get folder3"^
    "exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)

Однако я хочу перейти в каждую из папок и вытащить толькопоследние файлы вместо всей папки, так как история у меня старше, чем то, что все еще хранится на сервере.

Любая помощь - даже указание на хорошую статью о том, как использовать WinSCP и Batch, будет принята с благодарностью..

1 Ответ

0 голосов
/ 24 сентября 2019

Используйте переключатель -latest команды get :

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\Users\xxxxxx\Desktop\WinSCP.log" /ini=nul ^
  /command ^
    "open sftp://User:PW@Location.org/ -hostkey=""ssh-dss 1024 /xx/xxxxx/xxxxx=""" ^
    "cd /" ^
    "lcd C:\Users\xxxxxx\Desktop" ^
    "get -latest folder1/*" ^
    "get -latest folder2/*"^
    "get -latest folder3/*"^
    "exit"

На сайте WinSCP есть отдельная статья о Загрузка наиболеенедавний файл .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...