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

Batch Dateien vergleichen FTP ?

Frage Entwicklung Batch & Shell

Mitglied: malcomxcia

malcomxcia (Level 1) - Jetzt verbinden

06.07.2013 um 13:35 Uhr, 3090 Aufrufe, 17 Kommentare

Tach'en erst mal ! ! !

Ist es möglich das ich via Batch 2 Dateien anhand des Datums vergleichen kann ? Eine Datei liegt auf nem FTP und die andere lokal. Soll quasi ne Update Funktion werden. Also qusi ist ja selbst erklärend ;). Ist die Datei auf dem FTP neuer als die lokale Datei dann runterladen.

FTP Connect sowie runterladen ist ja kein Thema jedoch klappt das mit nem Vergleich ?

Gruß und euch allen hier ein schönes Wochenende
Malcom
Mitglied: rubberman
06.07.2013 um 14:16 Uhr
Hallo malcomxcia.

IMO wirst du dann wohl 2 mal auf den Server zugreifen müssen. Das erste Mal ziehst du dir eine Liste der Dateien mit dem (FTP!) DIR Command und legst sie lokal in einer Datei ab. Diese Liste verarbeitest du im Batchcode und extrahierst Dateinamen und zugehöriges Datum und vergleichst mit deinen lokalen Dateien. Nun kannst du dich ein zweites Mal einloggen und nur die neueren Dateien herunterladen.
Das Ganze ist also mit dem Windows-eigenen FTP Tool unglaublich umständlich ... Soweit ich weiß kommt es dann auch noch auf den Server an, in welchem Format die Liste bei dir ankommt und welches Datumsformat dabei herauskommt. Dann Datum- und Zeitwerte in Batch zu vergleichen ist noch mal eine ganz andere Geschichte

Grüße
rubberman
Bitte warten ..
Mitglied: malcomxcia
06.07.2013 um 14:20 Uhr
Erst mla vielen Dank für deine Antwort !

Hört sich ja dann doch etas komplizierter an ;)

Dann werd ich mal schaun was es noch an externen Dos/FTP Clients gibt oder hast Du da nen Tipp für mich und kennst was brauchbares ?

Malcom
Bitte warten ..
Mitglied: bastla
06.07.2013 um 14:27 Uhr
Hallo malcomxcia!

Sollte mit wget (Option "-N") zu machen sein ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
06.07.2013, aktualisiert um 14:39 Uhr
Hallo malcomxcia.

hast Du da nen Tipp für mich und kennst was brauchbares ?
Nein, leider nicht. Für die paar Aktionen, die ich mal auf einem FTP Share zu erledigen habe reicht mir das Windows Tool (oder ich erledige das gleich per Hand).
Aber du kannst ja mal posten, welches Format ein FTP DIR bei dir ausspuckt, dann können wir zusammen was erarbeiten.

Ein Batchschnippsel dazu könnte etwa so aussehen:
01.
>"%temp%\test.ftp" ( 
02.
  echo open %ftpHost% 
03.
  echo %ftpUser% 
04.
  echo %ftpPassword% 
05.
  echo dir "%ftpRemoteDir%" "%~dp0dir.txt" 
06.
  echo disconnect 
07.
  echo bye 
08.
09.
ftp.exe -i -s:"%temp%\test.ftp" 
10.
del "%temp%\test.ftp"
Die Variablen ftpHost, ftpUser, ftpPassword und ftpRemoteDir musst du entsprechend vorher definieren. Die Liste solltest du dann in "dir.txt" finden.

Grüße
rubberman
Bitte warten ..
Mitglied: malcomxcia
07.07.2013 um 19:12 Uhr
N'Abend ;)

@bastla

Danke für den Tipp ! Klappt wunderbar das ganze und das nur mit einer Zeile Code

@rubberman

Vielen Dank für ddein Angebot, aber kann Dir auch nur, solltest du mal sowas brauchen zu dem Tipp von bastla mit wget raten. Klappt astrein und ohne großen Aufwand ;)

Gruß und danke nochmal an euch beide
Malcom
Bitte warten ..
Mitglied: malcomxcia
07.07.2013 um 20:41 Uhr
Öhm ein Frage hätt ich noch hierzu ;)

Wie schon gemeint klappt das ganze wunderbar jedoch wenn ich die upgedatete Batch, alkso die heruntergeladene im normale Win Editor öffne steht dann alles hintereinander geschrieben und nicht mehr strukturiert in einzelnen Zeilen. Benutz zwar ein anderen Editor und da klappts, aber jemand anders hat das Problem, wo es eben halt im normalen Win Editor öffnet.

Weis jemand woran das liegen könnte ?

Malcom
Bitte warten ..
Mitglied: rubberman
08.07.2013, aktualisiert um 21:32 Uhr
Hallo malcomxcia,

liegt wahrscheinlich an deinem Browser.
Der normale Windows-Zeilenumbruch besteht aus 2 Zeichen, CarriageReturn und LineFeed (0D 0A wenn du dir das in einem HEX Editor ansiehst). Ich habe gehört, dass manche Browser sich auf eines der beiden Zeichen beschränken.
Versuch's mal aus dem Internetexplorer zu kopieren, der ist ja auf jeder Windowskiste dabei. (Nutze dabei den "Quelltext" Link rechts oberhalb des Codes, wenn es ein Batchcode aus diesem Forum ist.)

Grüße
rubberman
Bitte warten ..
Mitglied: malcomxcia
09.07.2013 um 01:42 Uhr
Erst mal Danke für deine Antwort !

Ich denk da hab ich mich vielleicht etwas missverständlich ausgedrückt ;). Also ich schreibe die Batch ja in meinem Editor (Edit Plus oder egal auch im normalen Win Editor). Soweit so gut und alles schön strukturiert. Sobald aber die Datei eben über die Batch mit der vom FTP überschrieben wurde, steht alles, ABER NUR wenn ich diese im normalen Win Editor öffne ohne Zeilenumbrüche. Öffne ich diese mit Edit Plus ist alles schön strukturiert.

Hoffe ist etwas verständlicher erklärt ;) Oder hab ich dich jetz nicht richtig verstanden, denn der Browser hat in dem Moment mit der ganzen Geschichte nix zu tun ;)

Gruß
Malcom
Bitte warten ..
Mitglied: rubberman
09.07.2013 um 12:17 Uhr
Hallo malcomxcia,

anders gesagt, du hast die Probleme mit Zeilenumbrüchen, wenn du Wget nutzt? Ist dann sicher ein Fall von RTFM

Ich nutze Wget nicht, aber ein Blick in die Doku hat mich folgendes finden lassen:
Wget also supports the type feature for ftp urls. By default, ftp documents are retrieved in the binary mode (type ‘i’), which means that they are downloaded unchanged. Another useful mode is the ‘a’ (ASCII) mode, which converts the line delimiters between the different operating systems, and is thus useful for text files. Here is an example:
ftp://host/directory/file;type=a
Grüße
rubberman
Bitte warten ..
Mitglied: malcomxcia
10.07.2013 um 10:39 Uhr
Erst mal vielen Dank für deine Antwort ;)

Ich Spongo hatte dies auch gelesen, und auch probiert, nur sollte man halt kein Leerzeichen zwische URL und ;type=a lasse

trotzdem nochmals vielen Dank und einen schönen tag ;)
Malcom
Bitte warten ..
Mitglied: malcomxcia
10.07.2013 um 18:50 Uhr
Also muss das ganze hier doch nochmal aufrollen !

Irgendwie haut das ganze denn doch noch nicht so hin. das komische ist, wenn ich meine Datei lokal ändere, das er dann trotzdem die ältere vom Server holt. wenn ich die Zeit der Dateien vergleiche, ist meine lokal geänderte datei auch neue von der Zeit her, aber komischerweise koüpiert er mir trotzdem die alte vom Server.

Aber sollte doch so passen das ganze:

01.
wget -r -nd --ftp-user="user" --ftp-password=pass --timestamping ftp://www.your-server.de
Woran könnte das liegen. Hab jetzt echt schon so einiges durchprobiert aber komme infach nicht weiter

Malcom
Bitte warten ..
Mitglied: malcomxcia
10.07.2013, aktualisiert um 20:31 Uhr
Also hab das ganze jetzt mehrmals probiert und wenn ich meine LOKALE Datei änder holt er mir trotzdem die ÄLTERE vom FTP ab und überschreibt somit die lokal NEUERE.

Malcom
Bitte warten ..
Mitglied: SaschaRD
11.07.2013 um 13:37 Uhr
Hallo Malcom,

ich verwende einen Dateivergleich auf Datumsebene. Hierbei wird die Datei auf dem Netzlaufwerk gegen die Lokal liegende Datei überprüft.

set CHECK="Angabe des Pfades der Datei auf dem Netzlaufwerk"
set AGAINST="Angabe des Pfades der lokalen Datei"

01.
FOR /f "delims= " %%a in ('dir %CHECK% /t:c^|findstr /i /l "setup.exe"') do ( 
02.
	FOR /f "delims= " %%b in ('dir %AGAINST% /t:c^|findstr /i /l "setup.exe"') do ( 
03.
		IF /i %%b GEQ %%a ( echo %time%: daily build version: %%a server and %%b local are equal >> %LOGFILE% & goto cancel 
04.
				) ELSE echo %time%: daily build version: %%a server and %%b local are not equal >> %LOGFILE% & goto install 
05.
06.
)
:cancel
exit

:install
was auch immer.

Welches FTP Programm verwendet Du?
Bitte warten ..
Mitglied: malcomxcia
11.07.2013, aktualisiert um 16:57 Uhr
Hallo und erst mla Danke für deine Antwort ;)

Ich benutze wie oben von bastla geraten Wget. Die hat eben einen speziellen Parameter, der nur neuere Dateien vom FTP holt.

z.B
01.
wget -nd -N --ftp-user="user" --ftp-password=pass ftp://www.your-server.de/test.txt
Und ich hab eben das Problem, das wenn ich meine im Beispiel Textdatei lokal ändere, ist diese ja neuer als diese auf dem FTP, und er holt mir trotzdem die Datei ab un überschreibt die LOKAL NEUERE.

Malcom
Bitte warten ..
Mitglied: malcomxcia
12.07.2013, aktualisiert um 11:07 Uhr
Also da steht noch folgendes in der Docu !

If the local file does not exist, or the sizes of the files do not match, Wget will download the remote file no matter what the time-stamps say.

Öhm sorry aber was soll dann das ganze Timestamping ? Wenn eine Datei NEUER ist, dann wird sich auch etwas an deren Größe verändert haben.

Mal abgeshen von irgenwelchen Bilddaten

Gruß
Malcom
Bitte warten ..
Mitglied: rubberman
12.07.2013 um 11:21 Uhr
Hallo malcomxcia.

Ich kann dir da nicht mehr weiterhelfen, da ich, wie schon gesagt, nicht mit Wget arbeite. Der Thread ist nun auch langsam alt genug, dass er keine große Beachtung mehr findet.

Mach doch noch mal einen neuen Thread unter Windows Tools & Utilities auf und erkläre dein Problem mit Wget und/oder verweise auf diesen Thread. Ggf. sind dort die User unterwegs, die die nötige Erfahrung mit wget mitbringen...

Grüße
rubberman
Bitte warten ..
Mitglied: malcomxcia
12.07.2013 um 11:37 Uhr
Danke für den Tipp und hab ich gerade soeben getan ;)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(4)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (17)

Frage von Unwichtig zum Thema Netzwerkmanagement ...