Dateinamen ändern durch Abschneiden von Zeichen
Versuche vergeblich seit Stunden, meine Dateinamen zu ändern. Hab auch schon den Vorschlag von Markus ausprobiert...gescheitert
Hallo zusammen,
ich versuche schon seit einer Weile, meine über 900 Dateinamen zu ändern.
Die Dateinamen sind wie folgt aufgebaut:
ArtNr._Beschreibung1_Beschreibung2_Beschreibung3.jpg
Die Art.-Nr. ist immer 4 Ziffern lang, der Anstieg der Ziffern ist ungleichmäßig.
Ich habe versucht, alles ab der 5 Stelle im Dateinamen abzuschneiden mit folgendem Befehl
Es kommt die Fehlermeldung "%%a" ist an dieser Stelle syntaktisch nicht verarbeitbar.
Was mache ich falsch und/wo liegt der Fehler? Wie muss meine Befehlskette richtig lauten?
Danke und Gruß
v-e-o1
[Edit Biber] Codeformatierung [/Edit]
Hallo zusammen,
ich versuche schon seit einer Weile, meine über 900 Dateinamen zu ändern.
Die Dateinamen sind wie folgt aufgebaut:
ArtNr._Beschreibung1_Beschreibung2_Beschreibung3.jpg
Die Art.-Nr. ist immer 4 Ziffern lang, der Anstieg der Ziffern ist ungleichmäßig.
Ich habe versucht, alles ab der 5 Stelle im Dateinamen abzuschneiden mit folgendem Befehl
@echo off & setlocal
Set Verzeichnis=c:\Fotos\test\*.jpg
for /f "delims=_ tokens=1-4*" %%a in ('dir %Verzeichnis% /s /b') do call :Machwas %%a %%b %%c %%d %%e
goto :eof
:Machwas
Set ArtNr=%1
Set Beschr1=%2
Set Beschr2=%3
Set Beschr3=%4
ren %ArtNr%_%Beschr1%_%Beschr2%_%Beschr3%.jpg %ArtNr%.jpg
Es kommt die Fehlermeldung "%%a" ist an dieser Stelle syntaktisch nicht verarbeitbar.
Was mache ich falsch und/wo liegt der Fehler? Wie muss meine Befehlskette richtig lauten?
Danke und Gruß
v-e-o1
[Edit Biber] Codeformatierung [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 155051
Url: https://administrator.de/contentid/155051
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo v-e-o1!
Sollte (ungetestet) so gehen:
Wenn's ok aussieht, das "
Grüße
bastla
[Edit] Überzähliges Anführungszeichen in Zeile 5 durch fehlendes Prozentzeichen ersetzt [/Edit]
Sollte (ungetestet) so gehen:
@echo off & setlocal
set "Verzeichnis=c:\Fotos\test"
set "Dateien=*.jpg"
pushd "%Verzeichnis%"
for /f "delims=" %%a in ('dir /s /b /a-d %Dateien%') do for /f "delims=_" %%i in ("%%~na") do echo ren "%%a" "%%i.*"
popd
echo
" vor dem "ren
" entfernen ...Grüße
bastla
[Edit] Überzähliges Anführungszeichen in Zeile 5 durch fehlendes Prozentzeichen ersetzt [/Edit]
Hallo v-e-o1!
Diese Meldung könnte ich mir eigentlich nur erklären, wenn Du die Zeile direkt in der CMD-Shell eingeben würdest (dann wäre jeweils nur ein einzelnes "%"-Zeichen erforderlich) - bei Verwendung der geposteten Zeilen als Batch dürfte es diesen Fehler nicht geben (inzwischen auch getestet) ...
Grüße
bastla
Diese Meldung könnte ich mir eigentlich nur erklären, wenn Du die Zeile direkt in der CMD-Shell eingeben würdest (dann wäre jeweils nur ein einzelnes "%"-Zeichen erforderlich) - bei Verwendung der geposteten Zeilen als Batch dürfte es diesen Fehler nicht geben (inzwischen auch getestet) ...
Grüße
bastla
Hallo v-e-01!
Grüße
bastla
Nur bei 4-5 Dateien ging es nicht.
Könnte es sein, dass es im betreffenden Ordner bereits eine gleichnamige Datei gab und dass deshalb nicht umbenannt werden konnte?Wenn ich jetzt den Haken setze "der Beitrag gilt als gelöst", was muss ich noch tun
Das genügt dann schon ... Grüße
bastla
Hallo,
ich selber habe diesen im Einsatz:
http://hp.vector.co.jp/authors/VA014830/english/FlexRena/
Ist auf deutsch und auf der Oberfläche kannst du bequem einstellen, was von abgeschnitten werden soll und dir eine Vorschau anzeigen lassen.
Schau ihn dir einfach einmal an, ist selbsterklärend.
Bei Rückfragen stehe ich gerne zur Verfügung.
ich selber habe diesen im Einsatz:
http://hp.vector.co.jp/authors/VA014830/english/FlexRena/
Ist auf deutsch und auf der Oberfläche kannst du bequem einstellen, was von abgeschnitten werden soll und dir eine Vorschau anzeigen lassen.
Schau ihn dir einfach einmal an, ist selbsterklärend.
Bei Rückfragen stehe ich gerne zur Verfügung.
@v-e-o1 :
so ich hoffe du hast schon die lösung hier noch mal mein ansatz mit powershell.
so hoffe das es so ist wie du es braucht, konnte es nur teilweise testen, sollte aber gehen.
die zeile 20 kannst du wenn es getestet wurde das "#" entfernen und die zeile 21 habe ich erstmal zum testen
gruß michael
so ich hoffe du hast schon die lösung hier noch mal mein ansatz mit powershell.
# **************************************************************
# * verzeichnis recursiv durcharbeiten *
# * *
# * *
# **************************************************************
# Das muß einmal auf der powershell ausgeführt werden
# "Set-ExecutionPolicy Unrestricted"
# **************************************************************
# * Erstellt M.N - POWERSHELL / Entwicklung 16.11.2010 *
# **************************************************************
#$ErrorActionPreference = 'stop'
#$ErrorActionPreference = 'SilentyContinue'
$QUELLE = "C:\Users\mne\Pictures\2006-03\"
$ENDUNG = ".jpg"
$FILE = dir $QUELLE | ? { $_.name -match '[0-9][0-9][0-9][0-9]_[*.]_[*.]_[*.].jpg' }
foreach ( $i in $FILE ) {
$R = $i -replace '_[*.]_[*.]_[*.]'
#Rename-Item $i $R
echo $R
}
so hoffe das es so ist wie du es braucht, konnte es nur teilweise testen, sollte aber gehen.
die zeile 20 kannst du wenn es getestet wurde das "#" entfernen und die zeile 21 habe ich erstmal zum testen
gruß michael