У меня есть куча файлов, и я бы хотел удалить все символы, которые не находятся в алфавите. Поэтому, учитывая имя файла «Домашние шумы (f) .txt« Я хочу результат «Домашние шумы f.txt», командный файл находится в той же папке, и он не должен быть рекурсивным. Это то, что у меня есть до сих пор:удаление неалфавитных символов в имени файла
@echo ON
SETLOCAL EnableDelayedExpansion
For %%# in (*.*) do (
Set MyVar=%%~n#
set MyVar=!MyVar:"-"= !
REN "%%~n#" "!MyVar!"
set MyVar=!MyVar:"("= !
REN "%%~n#" "!MyVar!"
set MyVar=!MyVar:")"= !
REN "%%~n#" "!MyVar!"
echo %%~n#>>text.txt
)
Pause&Exit
пространства не является альфа - почему это сохранилось? как насчет чисел? – dbenham
это будут символы, сохраненные «abcdefghijklmnopqrstuvwxyz 1234567890», но не «специальные» символы – user2313522
Что относительно '.'? Что произойдет, если имя состоит только из «специальных» символов? Что должно произойти, если два имени рухнули на один, например «a & b», «a + b»? – dbenham