1

Можно ли передать содержимое папки на сайте SFTP в локальный файл, похожий на окно программы sinnate ftp.exe, где синтаксис:

dir /MainDir /SubDir c:\test\ftp\CurrentContents.txt

но тот же синтаксис не работает с SFTP.exe. Мне нужно иметь возможность обрабатывать по одному имени файла за раз в скрипте powershell, и я не вижу способа передать имена файлов из программы SFTP.exe в скрипт powershell и обратно, не имея возможности проанализировать текстовый файл с содержимым каталога ,

Если у кого-то есть идеи или предложения, пожалуйста, дайте мне знать. спасибо рп

3 ответа3

1

Я использую компоненты .NET Rebex для FTPS и SFTP в моих программах на C # и скриптах PowerShell. Я нахожу это намного проще, чем разбираться с внешними программами, которые на самом деле не предназначены для плавного взаимодействия со скриптами и другими приложениями.

Изменить: Поскольку деньги это проблема, вы пытались использовать одну из утилит в комплекте с PuTTY?

0

Я использую замазку psftp, которая прекрасно работает с powershell.

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

давайте создадим $ tempContentFile, содержащий команды ftp в кодировке ASCII

$tempContentFile = "$($workdir)\temp_get.txt"
$tempContent = "get -r /root/home/someuser/filestoDownload C:\temp\DownloadedFiles"
$out = out-file -filepath $tempContentFile -inputobject $tempContent -encoding ASCII;

Сначала мы должны убедиться, что SSL-сертификат удаленного сервера принимается / хранится локально.

$out = echo Y|.\plink.exe -v -ssh $($attribute_IP) -l $($attribute_user) -pw $($attribute_password) -batch exit 2>&1

Чем сама команда psftp:

$out = .\psftp.exe $($attribute_IP) -l $($attribute_user) -pw $($attribute_password) -b $tempContentFile
0

Функция Push-FTP от PowerShell Pipeworks делает это, но не так идеально, как хотелось бы. Я внесу необходимые изменения для поддержки бесшовной конвейеризации через несколько дней. Он также предоставляет индикатор выполнения во время загрузки.

Вот пример:

Push-Ftp -Path c:\Example -Include *.aspx

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