Wątek przeniesiony 2020-12-10 13:42 z Java przez cerrato.

Pobieranie listy plików z FTP przefiltrowanej po dacie

0

Witam.
Poszukuję pomocy przy modyfikacji skryptu.
Mam skrypt weryfikujący obecność plików w folderach na serwerze FTP.
Wynik weryfikacji zapisywany jest do pliku i wygląda mniej więcej tak, pomijam początkową sekcję

$directory ='FOLDER1 '
$filelist1 = Get-FTPFileList -server $server -username $username -password $password -directory $directory
Write-Output "Katalog $directory         |Folder|Rozmiar|Nazwa folderu/pliku" $filelist1 >> C:\Users\User\Desktop\Wynik\wynik.txt
.
.
$directory ='FOLDER-N '
$filelist-n = Get-FTPFileList -server $server -username $username -password $password -directory $directory
Write-Output "Katalog $directory         |Folder|Rozmiar|Nazwa folderu/pliku" $filelist-n >> C:\Users\User\Desktop\Wynik\wynik.txt

Do tej pory to było wystarczające.
Natomiast teraz zaszła konieczność ograniczenia zapisywanych do pliku wyników w taki sposób, żeby nie było plików z datą dzisiejszą.

Doszła więc do skryptu linijka:

$get_date = (GET-DATE).AddDays(-1)

a nawet konwersja daty:

$fileDate = $get_date.ToString("MM-dd-yy")

Wtedy linijka wygląda tak:

$filelist1 = Get-FTPFileList -server $server -username $username -password $password -directory $directory | Where-Object -FilterScript {($_.LastWriteTime -lt $fileData)}

Niestety wynik działania skryptu nie jest poprawny. Nieważne jaki format daty ustawię czy podstawię datę do zmiennej czy wpiszę '12-10-20' zawsze skrypt zwraca mi listę z plikami również z dnia dzisiejszego.

Katalog FOLDER1          |Folder|Rozmiar|Nazwa folderu/pliku
12-10-20  09:50AM                 1646 plik1
12-10-20  09:50AM                  415 plik2

Jaki format daty powinienem zastosować?
Może inaczej płowieniem to filtrować?

Z góry dziękuję za pomoc.

1

Ten skrypt to w jakim języku jest? Bo na Javę to nie wygląda

0

@KamilAdam: Otagowałem go przy zakładaniu PowerShell ale teraz tego tagu nie widzę.
Dzięki za korekty postu i sorki. Nowy jestem poznaje dopiero co i jak :)

0

Minęło trochę czasu. Czy ma ktoś jakiś pomysł? Może zaproponuje coś podobnego w innym języku?

0
$fileDate = [DateTime](Get-Date -Format "yyyy-MM-dd")
$fileList = Get-FTPFileList -server $server -username $username -password $password -directory $directory | Where-Object {$_.LastWriteTime -lt $fileDate}

1 użytkowników online, w tym zalogowanych: 0, gości: 1