2016-03-26 8 views

Antwort

0
@ECHO OFF 
SETLOCAL 
SET "alphabet=a b c d e f g h i j k l m n o p q r s t u v w x y z" 
SET "targetdir=U:\destdir" 
FOR /f "delims=" %%a IN (
'dir /b /a-d "%targetdir%\*" ' 
) DO (
SET "name1=%%a" 
SET "name2=%%a" 
CALL :subsren 
) 

GOTO :EOF 

:subsren 
SETLOCAL ENABLEDELAYEDEXPANSION 
FOR %%s IN (%alphabet%) DO SET "name2=!name2:%%s=%%s!" 
endlocal&SET "name2=%name2%" 
if "%name1%" neq "%name2%" ECHO(REN "%targetdir%\%name1%" "%name2%" 
GOTO :EOF 

Sie müssten die Einstellung von targetdir zu ändern, um Ihre Umstände anzupassen.

Die erforderlichen REN-Befehle sind lediglich ECHO für Testzwecke. Nachdem Sie überprüft haben, dass die Befehle korrekt sind, ändern Sie ECHO(REN zu REN, um die Dateien tatsächlich umzubenennen.

Schnappen jeder Dateinamen und Zuweisen zu name1 und name2, rufen dann Subroutine :subsren

jeden Buchstaben Ersetzen in name2 mit lowercse Äquivalent, verwenden dann das Standard Parsing Trick das modifizierte name2 außerhalb des setlocal/endlocal Halterung zu exportieren.

umbenennen wenn name2 ist anders als name1 und alles fertig!