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, 9220 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 Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Entwicklung
gelöst Verzeichnise sichern mit batch datei (Win10) (13)

Frage von Limbach zum Thema Entwicklung ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

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

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...