zu bekommen, also habe ich versucht, dieses Skript herauszufinden, um zu versuchen, eine tägliche Datei auf unseren FTP-Server hochgeladen zu bekommen. Ich habe dieses Skript in der Vergangenheit mit Erfolg verwendet, da die Dateien mit einem konsistenten Dateinamen hochgeladen werden: IE: FILE_NAME_2016-05-25.csv (Wo das Datum der aktuellen Tage ist immer so formatiert)Einfaches Powershell-Skript, um die Datei von FTP
So das funktioniert, wenn der Dateiname diese Konsistenz beibehält, aber ich muss sie verwenden, um eine Datei mit einem inkonsistenten Wert zu erhalten, die an das Ende angehängt wird. IE: FILE_NAME_2016-05-25_0503 (Der letzte Wert ist niemals konsistent).
Gibt es eine Möglichkeit, ein Platzhalterzeichen am Ende der Datei/Ordner-Variable zu verwenden, um dies zu berücksichtigen?
Mein Code (Anmerkung Ich bin sehr neu in Powershell)
#Get's file from the FTP using today's date
Write-Host "Please wait while your file downloads"
$server = "ftp.server.net"
$user = "user"
$pass = "pass"
$invocation = (Get-Variable MyInvocation).Value
$localpath = Split-Path $invocation.MyCommand.Path
$TodayDate = (get-date)
$FileNameDate = date $TodayDate -f yyyy-MM-dd
$remotefilepath = "inbox/sub1/sub2/FILE_NAME_$FileNameDate_[*].txt"
$localfilename = "FILE_NAME_$FileNameDate.csv"
$localfilelocation = "$localpath\$localfilename"
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($user, $pass)
$uri = New-Object System.Uri(“ftp://$server/$remotefilepath”)
$webclient.DownloadFile($uri, $localfilelocation)
Ich versuchte, ein Wildcard-Zeichen am Ende zu verwenden, aber es scheint, ich etwas tue, falsch
Ich stimme zu, diese Frage als off-topic zu schließen, weil es nicht um Programmierung geht; Es geht darum, wie man Dateien mit Wildcard mit FTP-Befehlen findet. Versuchen Sie [su]? – briantist
Ich verwende dieses Skript, um die Verarbeitung und das Herunterladen einer Datei von einem FTP zu automatisieren, um sie in einen SQL-Server zu importieren. Normalerweise würden wir dafür SSIS verwenden, aber da wir keine Lizenz für MSSQL haben, müssen wir verschiedene Wege gehen. Ich entschuldige mich, aber ich dachte, dass Powershell-Skripte und Automatisierungsaufgaben waren Teil der Programmierung Regenschirm für Stackoverflow – mattlore
Mein Punkt war, dass Ihr Skript funktioniert gut für das Senden von FTP-Befehlen, Sie einfach nicht wissen, welche Befehle zu senden. Ich bin mir immer noch nicht sicher, ob es ein Thema ist, aber ich bin mir nicht sicher, ob es nicht zum Thema gehört, also habe ich meine enge Abstimmung zurückgezogen und ich lasse andere entscheiden. – briantist