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, 9209 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

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

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

Batch & Shell
Batch: Word Datei kopieren und umbennen (9)

Frage von ExcelNoob177 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...