2

У меня есть каталоги test1-test10 на удаленном FTP-сервере. Используя сценарии WinSCP, я хочу получить каждый файл в этих каталогах.

Это показывает все каталоги:

ls test*

Я хочу получить все файлы внутри этих каталогов:

get test*/*

Однако я получаю сообщение об ошибке, говорящее об no such file or directory .

Как я могу сделать это?

3 ответа3

1

Мой обходной путь был пакетный скрипт:

set num=1,2,3
for %%i in (%num%) do ( WinSCp.com /command ^
                        "open <user>:<password>@<hostname>:<port>" ^
                        "get test%%i/* <destination>" ^
                        "exit")

Это создаст новое соединение для каждого каталога, но это было лучшее, что я мог сделать.

1

Использовать synchronize не get . Команда get загружает только из текущего каталога. Синхронизация рекурсивна.

Команды сценариев WinSCP

get - загрузка файла из удаленного каталога в локальный каталог

синхронизировать - синхронизирует удаленный каталог с локальным

Изменить: Синхронизация получит все. Если есть вероятность, что каталоги не изменятся, я бы рекомендовал поместить в скрипт десять отдельных команд get .

get test1/*
get test2/*
...
get test10/*
1

использование

get test*

Если в удаленном каталоге нет других каталогов, вы даже можете использовать:

get *

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .