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-Key: 90875

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

Printed on: April 25, 2024 at 16:04 o'clock

Member: -Ohforf
-Ohforf Jun 29, 2008 at 12:46:03 (UTC)
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
Member: D3S3RT
D3S3RT Jun 29, 2008 at 15:49:40 (UTC)
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
Member: Biber
Biber Jun 29, 2008 at 16:00:01 (UTC)
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
Member: waldgnarf
waldgnarf Jun 29, 2008 at 19:04:23 (UTC)
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.