Прикрепление имени папки ко всем файлам в этой конкретной папке - PullRequest
0 голосов
/ 30 июня 2011

В каталоге есть сотни папок, и внутри каждой папки есть файл (filename).ini.

Все, что мне нужно сделать, это присоединить имя родительской папки к INI-файлу, чтобы оно стало (foldername)-(filename).txt файлом.

Есть ли пакетный скрипт, который мог бы сделать это? я новичок в пакетных файлах. Так что любая помощь очень ценится!

Ответы [ 2 ]

1 голос
/ 01 июля 2011
setlocal enabledelayedexpansion

for /R %%a in (*.ini) do (
  set relativepath=%%a
  set relativepath=!relativepath:%cd%\=!
  set newname=!relativepath:\=-!
  set newname=!newname:.ini=.txt!
  ren !relativepath! !newname!
)

endlocal
0 голосов
/ 01 июля 2011

Это работает для любой папки и любой структуры папок.

@echo off
setlocal enabledelayedexpansion
for /R %%a in (*.ini) do (
  set foldername=%%~pa
  set foldername=!foldername:\=_!
  echo ren "%%~fa" "(!foldername!)-%%~na.txt"
)

Для всех ini-файлов в текущем каталоге: извлеките путь из имени файла, используя модификатор ~p; изменить все символы обратной косой черты на подчеркивания, используя модификатор :=; наконец переименуйте исходный файл INI.

После тестирования удалите ECHO

См. HELP FOR и HELP SET для получения дополнительной информации.

...