Ich würde aus Gründen der Sortierung die konstante Episodenlänge beibehalten.
Was ist mit Erweiterungen (mein einziger Liner behält sie bei)?
In der Kommandozeile:
for %F in ([*) do @for /f "tokens=2-4 delims=-_[]" %A in ("%F") do @echo Ren "%~fF" "%A Episode %B - %C%~xF"
Beispielausgabe:
Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_001_EpisodeName_[480p][DVD][Uploader]" "SeriesName Episode 001 - EpisodeName" Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_100_EpisodeName_[1080p][BD][Uploader]" "SeriesName Episode 100 - EpisodeName" Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_010_EpisodeName_[720p][BD][Uploader]" "SeriesName Episode 010 - EpisodeName"
Verdoppeln Sie in einer Batchdatei alle Prozentzeichen.
Der erste für iteriert alle Elemente, beginnend mit einem. [
Der zweite für den Namen trennt den Namen an allen angegebenen Trennzeichen (benachbarte zählen nur als einer) und nehmen nur den zweiten bis vierten Platz ein. Der Befehl ren wird nur aus Sicherheitsgründen wiederholt. Entfernen Sie das Echo, wenn die Ausgabe in Ordnung ist.
BEARBEITEN: Diese Batch-Datei-Version entfernt führende Nullen:
:: SU1310869.cmd @Echo off&SetLocal EnableExtensions EnableDelayedExpansion :: cd /d "X:\folder\episodefiles for %%F in ([*) do @for /f "tokens=2-4 delims=-_[]" %%A in ("%%F") do ( set /a Num=1%%B - 1000 @echo Ren "%%~fF" "%%A Episode !Num! - %%C%%~xF" )