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

Per Batch Datei kopieren und prüfen ob schon vorhanden

Frage Entwicklung Batch & Shell

Mitglied: 72123

72123 (Level 1)

24.11.2008, aktualisiert 20:21 Uhr, 9229 Aufrufe, 4 Kommentare

Hallo,

hoffe, dass ihr mir helfen könnt...leider habe ich im Forum nicht wirklich das gefunden, was ich brauche und als Batch-Noob komm ich nicht wirklich weiter.

Folgendes Problem steht bei mir an:

Bestehende *.LOG Dateien werden ab einer bestimmten Größe in *.ALT Dateien umgewandelt, bei denen die schon vorhande *.ALT Datei überschrieben wird.
Ich muss jetzt per Batch diese ALT-Dateien in einen anderen Ordner kopieren (ggf. noch mit einem Kopierdatum) << klappt auch ganz gut soweit, nur werden bei jeder Ausführung der Batch Datei, die schon kopierten ALT Dateien nocheinmal kopiert. Ich möchte nun an Hand des Zeitstempels "geändert am" prüfen, ob diese Datei im Zielordner ist, wenn ja, wird diese übersprungen und nicht kopiert.
Die Dateinamen sehen wie folgt aus: 12345.LOG bzw. 12345.ALT
Und hier mein Code:

01.
@echo off 
02.
for %%F in (*.alt) do Call :kopieren "%%F" 
03.
 
04.
goto :eof 
05.
 
06.
:kopieren 
07.
set jahr=%date:~-4% 
08.
set monat=%date:~-7,2% 
09.
set tag=%date:~-10,2% 
10.
set datum=%tag%_%monat%_%jahr% 
11.
 
12.
for /F "delims=. tokens=1" %%i in (%1) do copy "%1" "backup\%%i - %datum%.alt" 
13.
:: back to caller mit goto :eof 
14.
pause 
15.
goto :eof  
16.
 

Hoffe, dass war verständlich..

PS: xcopy hat soweit ich es verstanden habe eine Möglichkeit nur neue Dateien zu kopieren, aber wenn ich statt copy xcopy (+die jeweiligen Parameter) habe, fragt er mich immer ob es eine Datei oder ein Verzeichnis ist. Und bei mir soll alles automatisch im TaskPlaner ablaufen. Wisst ihr da was?
Mitglied: bastla
24.11.2008 um 16:30 Uhr
Hallo Bacaco und willkommen im Forum!

Versuch es mit "xcopy" so:
xcopy /d "%~1" "backup\%~n1 - %datum%.alt*"
Zur Ermittlung des Dateinamens (ohne Extension) kannst Du Dir den Umweg über die "for"-Schleife ersparen - obwohl die Erklärung dazu in der Hilfe zu "for" (mit "for /?"), und dort ziemlich am Ende, zu finden ist ) - indem Du "%~n1" verwendest.

Grüße
bastla
Bitte warten ..
Mitglied: 72123
24.11.2008 um 20:05 Uhr
Danke für die Antwort Bastla

klappt ganz gut soweit werde morgen nochmal einen Durchlauf machen und schauen, ob er die Daten überschreibt oder wieder die eine Nachricht mit der Frage kommt.

Schönen Abend noch

Gruss,
Bacaco
Bitte warten ..
Mitglied: bastla
24.11.2008 um 20:19 Uhr
Hallo Bacaco!

Noch als Anmerkung: Das Datum würde ich eher "JJJJ_MM_TT" schreiben - erleichtert ggf die Sortierung ...

Grüße
bastla
Bitte warten ..
Mitglied: 72123
24.11.2008 um 20:21 Uhr
Danke für die Info...

ich liebe dieses Forum!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In Batch auf Erstelldatum einer Datei prüfen (5)

Frage von AS-N00 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei zum Kopieren aktueller Dateien erstellen (5)

Frage von daniel011 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Datei prüfen ob vorhanden, dann löschen (9)

Frage von Bugger zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...