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, 1948 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Änderungsdatum von Dateien vergleichen und ältere löschen (10)

Frage von 129528 zum Thema Batch & Shell ...

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

Frage von Giffas zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Haures zum Thema Windows Server ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...