Dateinamen über CMD abschneiden
Hallo,
ich habe eine wahrscheinlich für euch relativ leicht zu beantwortende Frage.
Ich habe Dateien mit folgender Bezeichnung:
BODY-PHANTOM.CT.THORAX_THNATIV_(ADULT).0009.0001.2013.04.10.20.17.36.803718.50570424
Da in einem Ordner sehr viele dieser Files sind und ich die fortlaufende Nummer am Ende für weitere Verwendungen brauche (hier die 0001) müsste ich diesen Filenamen ab dieser Ziffer abschneiden.
Manuell ist das leider zu aufwenig, da es über 100 dieser Dateien sind.
Gibt es eine Möglichkeit über das CMD diese Dateinamen zu kürzen (rename)?
Vielen Dank für Eure Antworten.
Beste Grüsse
Patrick
ich habe eine wahrscheinlich für euch relativ leicht zu beantwortende Frage.
Ich habe Dateien mit folgender Bezeichnung:
BODY-PHANTOM.CT.THORAX_THNATIV_(ADULT).0009.0001.2013.04.10.20.17.36.803718.50570424
Da in einem Ordner sehr viele dieser Files sind und ich die fortlaufende Nummer am Ende für weitere Verwendungen brauche (hier die 0001) müsste ich diesen Filenamen ab dieser Ziffer abschneiden.
Manuell ist das leider zu aufwenig, da es über 100 dieser Dateien sind.
Gibt es eine Möglichkeit über das CMD diese Dateinamen zu kürzen (rename)?
Vielen Dank für Eure Antworten.
Beste Grüsse
Patrick
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205075
Url: https://administrator.de/forum/dateinamen-ueber-cmd-abschneiden-205075.html
Ausgedruckt am: 08.04.2025 um 22:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo Patrick1988 und willkommen im Forum!
Wäre demnach der gewünschte neue Dateiname "0001.2013.04.10.20.17.36.803718.50570424"?
Falls ja: Nach welcher Systematik kann die Aufteilung erfolgen (weshalb würde zB "0009" wegfallen), und ist das Namensschema (mit Trennung durch "." und/oder "_") für alle Dateien gleich?
Grüße
bastla
Wäre demnach der gewünschte neue Dateiname "0001.2013.04.10.20.17.36.803718.50570424"?
Falls ja: Nach welcher Systematik kann die Aufteilung erfolgen (weshalb würde zB "0009" wegfallen), und ist das Namensschema (mit Trennung durch "." und/oder "_") für alle Dateien gleich?
Grüße
bastla
Hi Patrick1988,
hier ein VBS-Script - Ordner noch in Zeile 2 angeben.
Unterschiedliche RegularExpression-Patterns für Zeile 8 (je nach Anforderung):
Ich gehe davon aus das dieses Muster bei allen Dateien gleich bleibt 0000.0001, also 4 Zahlen "." 4 Zahlen
Extrahiert alles von Anfang an bis ....0001
Extrahiert 0001... und den Rest des Namens:
VBS-Script
Grüße Uwe
hier ein VBS-Script - Ordner noch in Zeile 2 angeben.
Unterschiedliche RegularExpression-Patterns für Zeile 8 (je nach Anforderung):
Ich gehe davon aus das dieses Muster bei allen Dateien gleich bleibt 0000.0001, also 4 Zahlen "." 4 Zahlen
Extrahiert alles von Anfang an bis ....0001
myRegExp.Pattern = "^(.*\.\d{4}\.\d{4}).*$"
myRegExp.Pattern = "^.*\.\d{4}\.(\d{4}).*)$"
VBS-Script
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set rootFolder = fso.GetFolder("C:\temp\")
For Each file In rootFolder.Files
Dim newFilename
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.Pattern = "^(.*\.\d{4}\.\d{4}).*$"
Set myMatches = myRegExp.Execute(file.Name)
If myMatches.Count >= 1 Then
Set myMatch = myMatches(0)
If myMatch.SubMatches.Count >= 1 Then
newFilename = myMatch.SubMatches(0)
file.name = newFilename
End If
End If
Next
Grüße Uwe
Hallo Patrick1988!
Ich komme nur auf 48 Zeichen - soferne keines davon ein "!" und die Zeichenanzahl tatsächlich konstant ist, könnte das so gehen:
Wegen des "
Grüße
bastla
Ich komme nur auf 48 Zeichen - soferne keines davon ein "!" und die Zeichenanzahl tatsächlich konstant ist, könnte das so gehen:
@echo off & setlocal enabledelayedexpansion
set "Ordner=D:\Dein Ordner"
pushd "%Ordner%"
for /f "delims=" %%i in ('dir /b/a-d') do (
set "Name=%%i"
echo ren "%%i" "!Name:~,48!"
)
popd
pause
echo
" vor dem "ren
" läuft der Batch als Demo - es werden die Umbenenn-Befehle nur angezeigt, aber nicht ausgeführt. Wenn das Ergebnis gut aussieht, kannst Du das "echo
" entfernen und ernst machen ...Grüße
bastla