Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 9
1

Переименование файлов по имени папок, в которых они находятся

08.12.2015, 17:31. Показов 7033. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их помощью можно решить мою проблему.

Условия.
Есть некая папка(dir1).
В ней может лежать неограниченное кол-во подпапок с совершенно разными именами(без какого-либо сходства).
В каждой из этих папок есть неск. файлов с разным расширением. Имена и их длины - не важны(могут быть любые). Например: *.txt, *.doc *.pdf и т.д.

Задача.
Нужно взять имя папки и назвать этим именем все файлы, кот. лежат внутри неё. Тоже самое сделать для всех папок, кот. лежат в dir1. Пример. dir1/[абра-кадабра]/ файл1.txt, файл351.pdf, файл987тра-ля-ля.doc Сделать: dir1/[абра-кадабра]/ абра-кадабра.txt, абра-кадабра.doc абра-кадабра.pdf
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2015, 17:31
Ответы с готовыми решениями:

Переименование файлов по имени папок, в которых они находятся
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их...

Как автоматизирвать переименование файлов на имена папок в которых они находятся?
дорогие друзья! Помогите или натолкните прошу. Есть список файлов спарсеных приложением в папки...

Переименование файлов, в имени которых содержится пробел
С помощью FindFirstFile и FindNextFile сделал программку, которая выводит названия всех файлов...

Изменение дат модификации (изменения) файлов на основе имён папок, в которых находятся эти файлы
Всем привет! Столкнулся с такой задачей: есть папки вида ГГГГ\\*.jpg ГГГГ - год; ММ - месяц;...

5
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
08.12.2015, 18:25 2
Лучший ответ Сообщение было отмечено userbat как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@echo off
  setlocal
    set "i=0"
    for %%i in (%*) do set /a "i+=1"
    if "%i%" neq "1" goto:man
    
    if not exist "%~1" (
      echo:Could not find a folder.
      goto:eof
    )
    
    pushd "%~1"
      for /f %%i in ('dir /ad /b') do (
        pushd "%%~i"
          for /f %%j in ('dir /a-d /b') do (
            ren "%%~fj" "%%~i%%~xj"
          )
        popd
      )
    popd
  endlocal
exit /b
 
:man
  for %%i in (
    "Usage: %~n0 <directory>"
    ""
    ".e.g.:"
    "  C:\Users\Admin\Documents> %~n0 dir1"
  ) do echo:%%~i
exit /b
Можно было, конечно, без пушей и попов обойтись, но это все равно лишь пример.
2
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 9
09.12.2015, 09:27  [ТС] 3
Доброго времени суток. Спасибо за ответ. Но для меня написанное - китайская грамота. Создал в блокноте rename.bat, заменил "C:\Users\Admin\Documents> %~n0 dir1" своей папкой. Запустил. Ничего не происходит. Можно попросить вас закомментировать блоки, чтобы мне было хотя бы чуть-чуть понятно, что и в какой последовательности там должно происходить.
0
724 / 323 / 133
Регистрация: 17.03.2014
Сообщений: 811
09.12.2015, 20:17 4
Лучший ответ Сообщение было отмечено userbat как решение

Решение

Цитата Сообщение от userbat Посмотреть сообщение
Запустил. Ничего не происходит.
1. скопируйте код скрипта и сохраните на рабочем столе в файл с именем my_rename.cmd
2. создайте ярлык там же (на рабочем столе) для файла my_rename.cmd
3. "клик" правой кнопкой мыши на этом ярлыке, в контекстном меню выбрать "свойства"
4. в поле "объект", после полного имени скрипта, через пробел, в кавычках, указать полный путь к нужной папке, у меня написано так "диск:\путь"
Миниатюры
Переименование файлов по имени папок, в которых они находятся  
1
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 9
14.12.2015, 00:18  [ТС] 5
Вау! Все супер, все заработало! БОЛЬШОЕ вам спасибо!
0
0 / 0 / 0
Регистрация: 17.03.2016
Сообщений: 1
17.03.2016, 07:09 6
А как реализовать эту же процедуру, только чисто с изображениями?
Пытался - не получилось...
Например:

Раздел мебель - шкафы - шкаф-купе в нем изображения называються шкаф-купе_1.jpg, шкаф-купе_2.jpg, ... и тд

ну или мебель - кровати в нем изображения - кровать_1.jpg, кровать_1.jpg ...
0
17.03.2016, 07:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2016, 07:09
Помогаю со студенческими работами здесь

Переименование папок/файлов по списку
Добрый день уважаемые гуру VBA! Нашел старый макрос, которым когда-то пользовался на работе и...

Переименование файлов и папок через treeView и listView
Пытаюсь сделать переменование файлов и папок (в listView и treeView соответственно). Вызываю...

Переименование файлов с удалением части имени
Добрый день! Понимаю, что задача простая, но сходу я не смог её осилить... :mda: Вот что в...

Переименование и архивация файлов по части имени
Здравствуйте! Помогите со следующей задачей. Есть папка в которой находятся множество файлов с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru