waldgnarf
Goto Top

letzten 4 Zeichen aus Dateiendung löschen

Hallo,
die Dateien in verschiedenen Ordnern enden alle mit %~zD, nach der eigendlichen Dateiendung.
Wie kann ich die letzen 4 Zeichen wieder entfernen?
RENAME klappt nicht, ausserdem sind es unterschiedliche Dateitypen.

Gruß waldgnarf

Content-ID: 90875

Url: https://administrator.de/contentid/90875

Ausgedruckt am: 20.11.2024 um 11:11 Uhr

-Ohforf
-Ohforf 29.06.2008 um 14:46:03 Uhr
Goto Top
hallo waldgnarf,

wie immer die basicdaten:

  1. welches betriebsystem?
  2. wie klappt rename nicht? (fehlermeldung | rauchzeichen | erfolgreich aber ohne erwünschten effekt, etc.)?
  3. welche umgebung (domäne, stand-alone)?
  4. sind die dateien mit einem skript erstellt worden?
  5. und eine persönliche frage: wie entstehen daten mit einer .*%~zD endung?


das klingt für mich wie eine defekte variable in einem skript.

gruß,
niklas
D3S3RT
D3S3RT 29.06.2008 um 17:49:40 Uhr
Goto Top
Im Totalcommander unter Windows wäre meine Lösung:

Mit Strg + B eine Übersicht aller Dateien in allen Unterverzeichnissen holen.
Dateien markieren (falls alle mit Strg + Num+)
mit Strg+ M das Mehrfachumbenenntool öffnen
unter String *%~zD angeben und auf OK Klicken
Biber
Biber 29.06.2008 um 18:00:01 Uhr
Goto Top
oder, falls zufällig ein CMD-Prompt in der Nähe ist, dieses abfeuern...
for /R "F:\" %i in (*.*%~zD) do @for /f "delims=%" %a in ("%~xi") do @echo ren "%i" "%~ni%a"  
[wobei "F:\" hier für das Laufwerk bzw. die Wurzel alles Üblen/allen Übels steht, ggf. ersetzen]

Wenn das angezeigte Ergebnis Sinn zu machen scheint, dann nochmal ohne das letzte "@echo" ausführen.

Und dann solltet ihr langsam mal Plätze für das Spiel heute abend suchen statt Umbenamsereien zu üben...

Grüße
Biber
waldgnarf
waldgnarf 29.06.2008 um 21:04:23 Uhr
Goto Top
Ich habe Xp, hab rename in ner Batch getestet und weiss darum nicht weshalb es nicht geht, vermute wegen Sonderzeichen.
Ist mir bei einem Umbenennungs-Fehlversuch passiert.
Also... mir ist aufgefallen das bei den anderen Nummerier+Ordnernamen-nach.Dateigrösse-Batch-Scripts nur eine Datei die gleiche Grösse haben muss und schon klappt es nichtmer mit der Nummer der Grösse nach.
Deshalb hab ich den Dateien erst die Filesize als Namen gegeben und danach umbenannt.
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
for /f "delims=" %%O in ('DIR /B') do set ORDNER=%%O && for %%D in (%%O\*.*) do ren "%%D" %%~zD.*  
for /f "delims=" %%O in ('DIR /B /OS') do set /a X=1000 && for %%I in (%%O\*.*) do Set /a "X+=1">nul & rename "%%I" "%%O !X:~-3!%%~XI"  
endlocal
Als Ergebniss behilten Dateien mit der gleichen Grösse die Filesize Nummer, dann hab ich Dummerweise am Ende %%~zD angefügt und da war es passiert.
;)

Danke D3S3RT und Biber, ich habs jetzt mit der cmd gemacht und es klappt.