Попытка запустить следующий скрипт. Подключитесь к серверу ftp / sftp и получите файлы из remotepath в localpath
Поскольку существует список источников и назначений, я решил создать файл csv и передать значение, используя $ . Source и $ .Destination
Session.getfiles (), кажется, не работает, когда я импортирую свой CSV-файл. Но если я жестко закодирую путь, он, похоже, сработает.
$session.GetFiles("c:\source\test", "c:\destination\", $False, $transferOptions)
Цель: Скрипт читает список источников и перемещает файлы в соответствии с его назначением. Также go вернемся к # количеству дней и загрузим последний файл -
Ошибка: "Нет такого файла" или "невозможно получить атрибуты файла"
try{
Add-Type -Path "WinSCPnet.dll"
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::sftp
HostName = "xxxxx"
UserName = "xxxxr"
Password = "xxxxxxx"
PortNumber="xx"
FTPMode="Active"
GiveUpSecurityAndAcceptAnySshHostKey = $true
}
$session = New-Object WinSCP.Session
try
{
# Connect
$session.Open($sessionOptions)
# Download files
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
Import-Csv -Path "C:\movefiles.csv" -ErrorAction Stop
$transferResult =
$session.GetFiles($_.Source, $_.Destination, $False, $transferOptions)
# Throw on any error
$transferResult.Check()
# Print results
foreach ($transfer in $transferResult.Transfers)
{
Write-Host "Download of $($transfer.FileName) succeeded"
}
}
finally
{
# Disconnect, clean up
$session.Dispose()
}
#exit 0
}
catch
{
Write-Host "Error: $($_.Exception.Message)"
#exit 1
}