Ich versuche , aus einer Datei umbenennen , The Big Bang Theory - The Prom Equivalency.mp4
um the.big.bang.theory-the.prom.equivalency.mp4
mit einem Batch - Skript. Folgendes habe ich bisher:
@ECHO OFF
setlocal enabledelayedexpansion
FOR %%f IN (%*) DO (
set filename=%%~nf
set filename=!filename: =.!
set filename=!filename: .-.=-!
rem uncomment for debugging.
rem if not "!filename!"=="%%~nf" ECHO RENAME "%%~dpnxf" "!filename!%%~xf" >> "%TEMP%\test.txt"
rem comment for debugging.
if not "!filename!"=="%%~nf" RENAME "%%~dpnxf" "!filename!%%~xf"
)
Die Datei, die ich bekomme, ist The.Big.Bang.Theory.-.The.Prom.Equivalency.mp4
.
Was ist der Zaubertrick, um nicht zuzulassen, dass Punkte auf beiden Seiten des -
Skripts platziert werden, und wie kann ich den Kleinbuchstabenbefehl in das Skript einarbeiten?
windows
rename
batch-rename
Ólafur Björnsson
quelle
quelle
Antworten:
Kommen wir darauf zurück.
Ändere dein
Aussage zu
weil, so wie Sie es jetzt haben, Sie suchen (Leerzeichen, Punkt, Strich, Punkt) und diese Sequenz nicht vorhanden ist.
OK jetzt,
Kehren Sie einfach die Reihenfolge Ihrer
:
…=
Anweisungen um (und passen Sie den Bindestrich entsprechend an).Auf diese Weise, Sie beseitigen die Räume rund um den Strich , bevor Sie die Wortzwischenräume zu Punkten ändern.
Nun, du könntest es tun
Das ist nicht sehr elegant. Mir wurde jedoch darauf hingewiesen, dass dies genauso gut möglich ist
weil das
:
...=
... String-Matching in Groß- und Kleinschreibung Art und Weise durchgeführt wird (zum Beispiel:q=ent
wird „sqimQal“ in „sentimental“ ändern). Wenn wir also die Antwort von Magoo so anpassen, dass Dateiname von Großbuchstaben in Kleinbuchstaben konvertiert wird , können wir dies vereinfachenquelle
(A B C ...
(a b c ...