Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

FTP Verzeichnis vergleichen

Frage Entwicklung Batch & Shell

Mitglied: Flauschbobbel

Flauschbobbel (Level 1) - Jetzt verbinden

21.07.2008, aktualisiert 22.07.2008, 6238 Aufrufe, 5 Kommentare

Hallo Zusammen,

ich möchte ein FTP-Verzeichnis auslesen und es mit einem Verzeichnis auf meinem Windows-Client vergleichen.
Ich habe bereits hier etwas gestöbert und auch einen Ansatz gefunden.

Ich mache eine FTP-Verbindung und lese das entsprechende Verzeichnis aus und schreibe es in eine Datei (C:\Scripts\FTP_AuslesenListe.txt)

Das FTP-Script sieht wie folgt aus:
01.
  
02.
open 123.123.123.123 
03.
username 
04.
passwort 
05.
ls 
06.
cd /Photo 
07.
dir /Photo C:\Scripts\FTP_AuslesenListe.txt 
08.
disconnect 123.123.123.123 
09.
bye
Das funktioniert einwandfrei. Das Ergebnis sieht wie folgt aus:
01.
  
02.
drwxr-xr-x   2 tester ftp         32768 Dec 31  1979 2005-12-27  Weihnachten 2005 
03.
drwxr-xr-x   2 tester ftp         32768 Dec 31  1979 2005-12-30  Weihnachten 2005 
04.
drwxr-xr-x   2 tester ftp         32768 Dec 31  1979 2006-01-01  Weihnachten 2005-2006 
05.
drwxr-xr-x   2 tester ftp         32768 Dec 31  1979 2006-01-11  JM+CM Testbilder 
06.
...
Nun möchte ich mittes einer FOR-Schleife das Verzeichnis auf meinem Client lesen und mit der obigen Liste vergleichen.
Die fehlenden Verzeichnisse möchte ich mittels einem FTP-Commandfile, das ich mich zur Laufzeit zusammenbaue, auf den FTP-Server bringen

Folgender Befehl
01.
  
02.
FOR /F %%i in ('dir /b "E:\--- B I L D E R ---\JM Fotos\*.*"') do FINDSTR /e /c:"%%~nxi" C:\Scripts\FTP_AuslesenListe.txt || echo put %%i >>temp.txt
schlägt aber fehl, es wird aber nur der erste Teil des Verzeichnisses ausgelesen:

Inhalt der temp.txt
01.
  
02.
put 2005-12-27  
03.
put 2005-12-30  
04.
put 2006-01-01  
05.
...
Meine Verzeichnisse beginnen mit "yyy-mm-dd Verzeichnisname". Zwischen dem Datum und dem Verzeichnisname sin 2 "Leerzeichen".
Zudem werden nicht nur die fehlende Verzeichnisse, sondern alle Verzeichnisse gelistet.
Könnt Ihr mir weiterhelfen?

Danke,
Flauschbobbel
Mitglied: bastla
21.07.2008 um 23:11 Uhr
Hallo Flauschbobbel!

Versuch es so:
01.
FOR /F "delims=" %%i in ('dir /b "E:\--- B I L D E R ---\JM Fotos\*.*"') do FINDSTR /e /c:"%%~nxi" C:\Scripts\FTP_AuslesenListe.txt || echo put "%%i" >>temp.txt
Grüße
bastla
Bitte warten ..
Mitglied: Flauschbobbel
22.07.2008 um 00:21 Uhr
Hallo bastla,

es funktioniert, jedoch habe ich noch ein kleines Problem dabei:
Bei meinem Auslesen in der Liste "FTP_AuslesenListe.txt" erhalte ich die Informationen einwandfrei mit Umlauten (ä,Ü,ö).
Mittels dem obigen DIR-Befehl werden die Umlaute in den Verzeichnisnamen (in der Liste temp.txt) nicht korrekt dargestellt, was dazu führt, das er ein Verzeichnis nicht finden kann und somit das "falsche", also mit den Sonderzeichen nochmals kopieren will

Beispiel in Temp.txt:
...
put "2007-06-06 Anbau Rckseite, Info fr Caspar"
...

Hast Du hierzu ggf. noch eine Idee?

Grüße,
Flauschbobbel
Bitte warten ..
Mitglied: bastla
22.07.2008 um 00:30 Uhr
Hallo Flauschbobbel!

Sollte mit
01.
for /f "tokens=2 delims=:." %%i in ('chcp') do set "CP=%%i" 
02.
chcp 1252 
03.
FOR /F "delims=" %%i in ('dir /b "E:\--- B I L D E R ---\JM Fotos\*.*"') do FINDSTR /e /c:"%%~nxi" C:\Scripts\FTP_AuslesenListe.txt || echo put "%%i" >>temp.txt 
04.
chcp %CP%
klappen.

Grüße
bastla
Bitte warten ..
Mitglied: Flauschbobbel
22.07.2008 um 00:45 Uhr
Danke bastla!

Es funktioniert. Kannst Du mir aber bei Gelegenheit die Settings erklären?
Wenn ich es richtig interpretiere liest du die aktuelle codepage aus (in die Variable %CP%).
Dann setzt du sie auf 1252 ??? Woher hast Du die Info, für was steht 1252?
Befehl ist wieder klar..
... und danach wird die CP wieder auf den alten Wert gesetzt.

Klasse!
Danke,
Flauschbobbel
Bitte warten ..
Mitglied: bastla
22.07.2008 um 00:58 Uhr
Hallo Flauschbobbel!

Üblicherweise wird in der CMD-Shell CP 850 verwendet, aber, um flexibel zu bleiben, wird (wie Du richtig erkannt hast) einfach die aktuelle Codepage zwischengespeichert und dann wieder gesetzt.

Woher hast Du die Info, ...
Was für eine Frage - natürlich von Biber ...

... für was steht 1252?
Windows ANSI - kannst Du zB hier finden.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom versendet automatische Kündigungen

(4)

Erfahrungsbericht von Voiper zum Thema DSL, VDSL ...

Ähnliche Inhalte
Windows Server
GdPpx Verzeichnis auf C (2)

Frage von Akcent zum Thema Windows Server ...

Batch & Shell
gelöst Powershell - 2 Arrays vergleichen und gleiche Einträge verbinden (6)

Frage von internet2107 zum Thema Batch & Shell ...

Monitoring
gelöst Zabbix: wenn Verzeichnis fehlt oder leer ist, dann Trigger (5)

Frage von honeybee zum Thema Monitoring ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...