Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

String in Dateinamen suchen und nach folgende Zeichen ersetzen

Frage Entwicklung Batch & Shell

Mitglied: MTB4ever

MTB4ever (Level 1) - Jetzt verbinden

27.04.2009, aktualisiert 11:45 Uhr, 6525 Aufrufe, 4 Kommentare

Hallo,

also die Ausgangslage, habe mehrere Dateien die wie folgt aufgebaut sind (Jeden Tag 3 neue Dateien):

"Datei 1 200904240757_11111111.txt"
"Datei 2 200904240758_22222222.txt"
"Datei 3 200904240759_33333333.txt"

Wie man sieht gibt es nach dem 2 Leerzeichen ein Zeitstempel mit den Format JJJJMMDD und dann die Uhrzeit an dem die Datei erstellt wurde im Format HHMM.

Jetzt zu mein Problem: Ich brauch eine Batch Datei die die Dateinamen wie folgt anpasst:

"Datei 1 200904240759_11111111.txt"
"Datei 2 200904240759_22222222.txt"
"Datei 3 200904240759_33333333.txt"

Also sozusagen bei der Uhrzeit die neuste Zeit aus den Dateinamen entnimmt und in den anderen 2 Dateien die Dateinamen dann die Uhrzeit sucht und mit der neusten Zeit ersetzt.


Hat einer eine Idee ?

MfG Michael
Mitglied: bastla
27.04.2009 um 13:14 Uhr
Hallo MTB4ever!

Etwa so (wenn Aufbau und Länge der Namen konstant sind):
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Basis=D:\Dein Ordner" 
03.
set "Maske=Datei ? 20*.txt" 
04.
 
05.
pushd "%Basis%" 
06.
for /f "delims=" %%i in ('dir /b "%Maske%"^|sort /+9') do set "Neueste=%%i" 
07.
set Zeit=%Neueste:~16,4% 
08.
for /f "delims=" %%i in ('dir /b "%Maske%"') do ( 
09.
    set "Name=%%i" 
10.
    set "Name=!Name:~,16!%Zeit%!Name:~20!" 
11.
    echo ren "%%i" "!Name!" 
12.
13.
popd
Wegen des "echo" in der Zeile 11 wird die Umbenennung nur angezeigt - wenn's ok aussieht, das "echo" einfach ersatzlos streichen.

Grüße
bastla
Bitte warten ..
Mitglied: MTB4ever
27.04.2009 um 14:15 Uhr
Hi bastla,

also erstmal danke es funkioniert soweit.

Noch eine andere Frage. Die Dateien liegen normalerweise in 2 Ordnern Datei 1 + 2 in Ordner c:\temp\Ordner1 und Datei 3 in Ordner c:\Temp\Ordner2 .

kKann man die Batch so anpassen, dass das auch so funktioniert oder soll ich vorher Dateien immer erst in ein Ordner kopieren und dann wenn umbenannt wieder zurückschieben?

MfG Michael
Bitte warten ..
Mitglied: bastla
27.04.2009 um 16:33 Uhr
Hallo MTB4ever!

Kann man die Batch so anpassen, dass das auch so funktioniert oder soll ich vorher Dateien immer erst in ein Ordner kopieren und dann wenn umbenannt wieder zurückschieben?
Die Anpassung ließe sich zwar machen, aber wäre vermutlich unnötiger Aufwand - aufgrund des konstanten Teiles des Dateinamens brauchst Du ja eigentlich nur zwischen den Zeilen 5 und 6
move "C:\Temp\Ordner2\Datei 3 20*.txt"
einzufügen und vor dem "popd" eine neue Zeile
move "Datei 3 20*.txt" "C:\Temp\Ordner2\"
zu platzieren.

Und (nur zur Sicherheit): Die Zeile 2 lautet dann natürlich
set "Basis=c:\temp\Ordner1"
Schöner wäre es natürlich noch, auch für den zweiten Ordner eine Variable zu verwenden und in den obigen Zeilen einzusetzen ...

Grüße
bastla
Bitte warten ..
Mitglied: MTB4ever
27.04.2009 um 17:14 Uhr
Danke dir vielmals! es funktioniert so!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
String aus Spalte in csv auslesen und ersetzen (4)

Frage von mIsSteR zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen ersetzen mit Sonderzeichen (2)

Frage von GNLen1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...