Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


sway38
допустим вот так
значит к именам всех файлов вглубь меняющей имя папки "papkaA" (на данном этапе) будет добавлено имя этой папки через знак нижнего подчеркивания (пример: было "file1.txt" стало "papkaA_file1.txt"). Этот знак вынес в переменную на случай, если он уже присутствует в именах файлов, то использовать его нельзя и надо заменить на другой допустимый в именах, например: "-"
Код: Выделить весь код
@echo off
set "sh=_"
call :# "papkaA"
pause& exit

:#
 setlocal enabledelayedexpansion
  if exist "%~1" for /f "delims=" %%f in ('dir /a-d/b/s "%~1"') do set "nf=%%f"& echo "%%f"|>nul find "%sh%" && ren "%%f" "%~1%sh%!nf:*%sh%=!" || ren "%%f" "%~1%sh%%%~nxf"
 endlocal
exit /b
т.е. после запуска можете поменять имя основной папки на "papkaB" и запустить повторно, у всех файлов (а они примут вид: "papkaA_file1.txt" после первого запуска) имя изменится на: "papkaB_file1.txt"
(кодировка у меня везде 866 и не забываем про "_", перед первым запуском его не должно быть в именах файлов)

Последний раз редактировалось alpap, 26-06-2018 в 18:12.


Отправлено: 17:54, 26-06-2018 | #5