Поэтому я искал в других темах, как рекурсивно переименовывать файлы и папки в .bat, но это не работает вообще.
Мой код:
@ echo off
setlocal enabledelayedexpansion
set /p rut="Introduce folder: "
FOR /D /R %%x in ("%rut%"\*) DO (
cd %rut%
echo %cd%
pause
ren .\* "a"
)
exit
Но это только переименовывает файлы, которые находятся в первой папке, а не в остальных. Forfile вообще не будет работать с переменными.
То, что я хочу получить, это то, как я могу переименовать все в основной папке (включая подпапки), что бы это ни было, будь то файлы или папки, как «а», чтобы решить проблему Windows, связанную с слишком длинными маршрутами при попытке удалить полная структура, поэтому я не могу использовать решение " .txt" " .whither".
Решение PowerShell также будет правильным!
Большое спасибо
Редактировать Я добавил случайное число, чтобы увидеть, конфликтовало ли это имя, но нет, оно все еще не работает:
ren .\* "a%RANDOM%"
И переименование их из cmd работает так же, я имею в виду, если я напишу ren "folder" "whatever"
, это изменится, но в скрипте не работает с "*"