Top-Themen

Aktuelle Themen (A bis Z)

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

Dateinamen vergleichen und ggf. mit Datum Zeit erweitern

Frage Entwicklung Batch & Shell

Mitglied: Dino2002

Dino2002 (Level 1) - Jetzt verbinden

08.08.2008, aktualisiert 09:47 Uhr, 8589 Aufrufe, 3 Kommentare

Hallo zusammen,

auf einem w2k3 System werden täglich neue Dateien abgelegt. Die neuen Dateien sollen im gleichen Verzeichnis mit aktuellem Datum sowie der Uhrzeit über einen geplanten Batch Job erweitert werden z. B. dateiA.txt in dateiA_Datum_Uhrzeit.txt.

Die Umbenennung funktioniert soweit, aber ich stehe weiter vor dem Problem, dass bei einem erneuten Aufruf der Batch, der Dateiname immer wieder um das aktuelle Datum sowie Uhrzeit erweitert wird - dateiA_Datum_Uhrzeit_Datum_Uhrzeit_Datum_Uhrzeit.txt …

Die Batch sieht so aus

@echo off
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
set mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%
for /R D:\Incoming\ %%d IN (*.*) DO (
move %%d %%~dpnd_%mydate%_%mytime: =0%.txt
)
:exit

Wie könnte die Batch denn aussehen, wenn sie den Dateinamen vor der Erweiterung auf den String _Datum_Uhrzeit = z. B. „_20080807_213133“ überprüft bevor sie das aktuelle Datum&Uhrzeit einfügt?

Auf dem System darf ich nur mit w2k3 Boardmitteln arbeiten und von daher die Batch-Lösung. Ich habe bereits einige Beiträge gelesen aber leider kriege ich den Einstieg nicht so hin - vielen Dank in Voraus
Mitglied: stbewo
08.08.2008 um 08:05 Uhr
Hi Dino,

kannst Du die umbenannten Files in der FOR Schleife nicht mit einem Read Only versehen? Die können mit einem weiteren Batchlauf nicht mehr verändert werden.

Gruß
Stefan
Bitte warten ..
Mitglied: bastla
08.08.2008 um 08:22 Uhr
Hallo Dino2002 und willkommen im Forum!

Soferne Du hinsichtlich des Dateinamensformates "Name_Datum_Zeit" sicher sein kannst, müsste es ja genügen, vor dem Umbenennen zu überprüfen, ob der Name bereits das heutige Datum (soferne nicht auch ältere Dateien zu berücksichtigen wären) enthält (die Zeit ändert sich ja bei jedem Durchlauf):
01.
@echo off & setlocal 
02.
set "mydate=%date:~-4%%date:~-7,2%%date:~-10,2%" 
03.
set "mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%" 
04.
set "mytime=%mytime: =0%" 
05.
for /R D:\Incoming\ %%d IN (*.*) DO ( 
06.
	for /f "tokens=2 delims=_" %%i in ("%%~nd") do ( 
07.
		if "%%i" neq "%mydate%" move "%%d" "%%~dpnd_%mydate%_%mytime%.txt" 
08.
09.
)
Das Umwandeln ev in %mytime% enthaltener Leerzeichens in "0" braucht eigentlich nur einmal (vor der Schleife) zu erfolgen, und mit den Anführungszeichen um Dateinamen/Pfade herum erfolgt eine Absicherung gegen Probleme wegen ev darin enthaltener Leerzeichen.

Willst Du übrigens wirklich allen Dateien den Typ ".txt" geben, egal, welchen sie vorher hatten? Falls nicht, wäre ".txt" durch "%%~xd" zu ersetzen.
Nachtrag: Noch sicherer (unter der Voraussetzung, dass nur bereits mit dem Datums- / Uhrzeitzusatz versehene Dateien den Namensbestandteil "_20" [damit sollte es bis zum Ende des Jahrhunderts funktionieren ] enthalten) wäre:
01.
@echo off & setlocal 
02.
set "mydate=%date:~-4%%date:~-7,2%%date:~-10,2%" 
03.
set "mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%" 
04.
set "mytime=%mytime: =0%" 
05.
for /R D:\Incoming\ %%d IN (*.*) DO ( 
06.
	echo %%~nd|findstr "_20">nul || move "%%d" "%%~dpnd_%mydate%_%mytime%.txt" 
07.
)
Grüße
bastla
Bitte warten ..
Mitglied: Dino2002
08.08.2008 um 09:46 Uhr
Hallo Bastla,

juhu es funktioniert "FREU" - ich habe es mir viel komplizierter vorgestellt. Damit dürfte die Batch länger funktionieren als ich

@Stefan, ebenfalls eine gute Idee - habe schon mit den Gedanken gespielt diese zu implementieren.

Vielen Dank,

Gruß Dino
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datum vergleichen
gelöst Frage von Klaus20Batch & Shell11 Kommentare

Hallo Zusammen, vielleicht kann mir jemand (wie schon öfters) mir bei einer Abfrage helfen. Ich möchte gerne falls das ...

Windows 7
Dateinamen in Serie erweitern
gelöst Frage von DogukannWindows 74 Kommentare

Ich möchte von einer Liste die Dateinamen um 2 Wörter und ein Zeichen erweitern. z.B. hab ich eine fortlaufende ...

Batch & Shell
Dateiname mit Powershell erweitern
gelöst Frage von akoch85Batch & Shell28 Kommentare

Hallo, ich benötige ein Script mit dem ich meine Bilder die sich in einem Ordner befinden umbenenne bzw. erweitern ...

Batch & Shell
Vergleich einer Zeichenfolge in zwei Dateinamen
Frage von hongziehongBatch & Shell3 Kommentare

Hallo zusammen, ich möchte den Inhalt (ich weiß nicht, ob Variable das richtige Wort dafür wäre) zweier Dateinamen jeweils ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 4 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 8 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware7 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...