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

Zwei Dateien vergleichen

Frage Entwicklung Batch & Shell

Mitglied: Klaus20

Klaus20 (Level 1) - Jetzt verbinden

11.05.2013 um 18:15 Uhr, 1959 Aufrufe, 13 Kommentare

Hallo Zusammen,
habe für die Profis eine wahrscheinlich einfache Frage die ich nur zun Teil lösen konnte.

wie ich schon im Titel sagte möchte ich gerne zwei Dateien vergleichen
und die jüngere Datei kopieren.

Hier mein Ansatz:
for %%f in ("datei1.zip") do echo %%~tf
for %%f in ("datei2.zip") do echo %%~tf

Vielen Dank im vorraus für Eure Hilfe.

Gruß Klaus
Mitglied: Endoro
11.05.2013, aktualisiert um 19:20 Uhr
Hallo Klaus20,

versuchs mal so:

01.
for /f "delims=" %%i in ('dir /b /od /a-d datei?.zip') do set "file=%%~i" 
02.
copy "%file%" c:\target
Gruss!
Bitte warten ..
Mitglied: Klaus20
12.05.2013 um 09:24 Uhr
@Endoro
Erst mal vielen Dank für die Antwort.
Klappt im Prinzip auch - im CMD Fenster wird mir mit echo %file% auch die richtige Datei angezeigt nur es werden nach wie vor beide kopiert.
Wahrscheinlich habe ich irgendwo noch einen Denkfehler.

Gruß Klaus

Sorry weiß nicht wie ich es richtig formatiere.
* Anfang Wput *
SET name0=datei1.zip
SET name1=datei2.zip
SET nameftp= ftp://+++:*@mein server.de
for /f "delims=" %%i in ('dir /b /od /a-d date*.zip') do set "file=%%~i"
if %file% == "%name1%" ( goto :monat ) else ( goto :tag )

:tag
wput %name1% %nameftp%/Sicherungen/Tag/%name1%

:monat
wput %name0% %nameftp%/Sicherungen/Monat/%name0%
* Ende WPUT *
Bitte warten ..
Mitglied: Endoro
12.05.2013, aktualisiert um 10:14 Uhr
Zitat von Klaus20:
Klappt im Prinzip auch - im CMD Fenster wird mir mit echo %file% auch die richtige Datei angezeigt nur es werden nach wie vor
beide kopiert.
.. das wundert mich wenig.
01.
@echo off&setlocal 
02.
SET "name0=datei1.zip" 
03.
SET "name1=datei2.zip" 
04.
SET "nameftp=ftp://+++:*@mein server.de" 
05.
for /f "delims=" %%i in ('dir /b /od /a-d date*.zip') do set "file=%%~i" 
06.
if "%file%"=="%name1%" goto:monat 
07.
wput "%name1%" "%nameftp%/Sicherungen/Tag/%name1%" 
08.
GOTO:EOF 
09.
 
10.
:monat 
11.
wput "%name0%" "%nameftp%/Sicherungen/Monat/%name0%" 
12.
GOTO:EOF
Wenn der Name "name1" ist soll zu ":monat" verzweigt und dort "name0" kopiert werden?


Gruss!
Bitte warten ..
Mitglied: Klaus20
12.05.2013, aktualisiert um 11:03 Uhr
Du hattest recht da war ein Fehler.
So nun habe ich es nochmals geändert, neu geordnet und nun geht es.
Nochmals vielen Dank

Gruß Klaus

P.S.: Hat jemand eine Idee wie ich überprufen kann ob die FTP Verbindung bzw. der Upload geht

*** Falls es nochmal jemand braucht
SET name0=datei_monat.zip
SET name1=datei_tag.zip
SET "nameftp=ftp://+++:*@mein server.de"
for /f "delims=" %%i in ('dir /b /od /a-d date*.zip') do set "file=%%~i"
if %file% == "%name0%" ( goto :monat ) else ( goto :tag )

:monat
wput %name0% %nameftp%/Sicherungen/Monat/%name0%

:tag
wput %name1% %nameftp%/Sicherungen/Tag/%name1%
Bitte warten ..
Mitglied: Endoro
12.05.2013 um 11:41 Uhr
Hallo Klaus20,

ich hatte "GOTO:EOF" absichtlich ergänzt. Jetzt wird (ein mal im Monat ?) wieder beides kopiert.

Gruss!
Bitte warten ..
Mitglied: Klaus20
12.05.2013, aktualisiert um 12:59 Uhr
@Endoro
Hatte ich völlig übersehen - Danke.

@Alle

Wie kann ich den exit status abfragen und weiterverarbeiten ??
::Normalerweise ist die Exit-Status 0, wenn entweder alles geklappt oder gab es nichts zu tun.
::Wenn einige Dateien beim Upload übersprungen wurden (aufgrund timestamping oder Fortsetzen-Regeln)
::der Exit-Status wird auf 1 gesetzt.
::Wenn einige Dateien konnten aufgrund eines Fehlers Remote übertragen werden, ist exit status 2.
::Wenn einige Dateien nicht und einige andere wurden übersprungen, ist exit status 3.
::Für allgemeine Probleme wie Ausfall einiger System-Funktionen der Exit-Status ist 4.

Gruß Klaus
Bitte warten ..
Mitglied: Endoro
14.05.2013 um 22:04 Uhr
Hallo, stell doch für die anderen Sachen eine neue Frage, hier findet das niemand mehr.

Gruss!
Bitte warten ..
Mitglied: Klaus20
15.05.2013 um 13:20 Uhr
Vielen Dank Endoro - Habe Deinen Ratschlag befolgt und auch gleich eine Antwort bekommen
http://www.administrator.de/contentid/206504

Gruß Klaus
Bitte warten ..
Mitglied: Klaus20
29.05.2013 um 09:36 Uhr
Habe irgendwo noch einen Fehler in der Batch Datei es wird mir immer die falsche Datei kopiert.
Vielleicht kann mir jemand sagen wo ich meinen Fehler habe ??

Gruß Klaus

:: Neuere Datei die in das Verzeichnis C:\Test\Test1 kopiert werden soll (29.05.2013)
SET name0=datei_monat.zip
:: Ältere Datei mit der nichts geschehen soll (28.05.2013)
SET name1=datei_tag.zip

for /f "delims=" %%i in ('dir /b /od /a-d datei*.zip') do set "file=%%~i"

if %file% == "%name0%" ( goto :monat ) else ( goto :tag )

:monat
copy "%file%" c:\Test\Test1\%file%

:tag
copy "%file%" c:\Test\Test2\%file%
Bitte warten ..
Mitglied: Biber
29.05.2013 um 11:53 Uhr
Moin Klaus20,

a) benutze Code-Formatierung
b) STREICHE if %file% == "%name0%"
SETZE if "%file%" == "%name0%"

Grüße
Biber
Bitte warten ..
Mitglied: Klaus20
29.05.2013 um 13:55 Uhr
Hallo Biber,
erst mal Danke für die Antwort.

zu a.) Bin momentan zu blöd für die Code Formatierung - kannst Du mir sagen wie ich sie hinbekomme

zu b.) Nun wird zwar die richtige Datei kopiert,
jedoch wird :monat und :tag ausgeführt, d.h. "%file%" wird nach Test1 und nach Test2 kopiert.

Hast Du noch eine Idee waran das noch liegen könnte ??

Viele Grüße

Klaus
Bitte warten ..
Mitglied: Biber
29.05.2013, aktualisiert um 17:06 Uhr
Moin Klaus20,

zu a) Codeformatierung mit < code > einleiten und mit < /code > beenden OHNE die Leerzeichen, die ich hier verwende.
zu b) sorry, hatte ich vorhin vergessen: Nach Beendigung des Steps :monat fehlt noch eine Zeile "goto :eof"
Sonst werden nämlich einfach alle darunter folgenden Befehle mit ausgeführt.

Grüße
Biber
Bitte warten ..
Mitglied: Klaus20
29.05.2013 um 18:10 Uhr
So nun klappt alles wunderbar.
Nochmals vielen Dank.

Gruß

Klaus
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Dateien aus verschiedenen Arrays - Attribute vergleichen (5)

Frage von Giffas zum Thema Batch & Shell ...

Batch & Shell
gelöst 2 CSV Dateien per Powershell vergleichen (2)

Frage von Berlin62 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...