0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 74
|
|
1 | |
Переименование файлов во вложенных папках07.09.2018, 19:40. Показов 9261. Ответов 7
Метки нет (Все метки)
Здравствуйте! Уважаемые программисты, прошу помочь с автоматизацией следующей задачи.
Необходимо написать bat-файл, который будет делать следующее: запускается из корневой папки, делает перебор всех вложенных папок до конца (число уровней вложенности разное), если во вложенной папке есть файл – переименовывает его, добавляя в начало существующего имени файла имя последней (текущей) папки. Пример: С:\Папка_ 1\Папка_2\sdcf1234.jpg --> Папка_2-sdcf1234.jpg
0
|
07.09.2018, 19:40 | |
Ответы с готовыми решениями:
7
Выполнять поиск файлов во вложенных папках Батник удаления файлов во вложенных папках Массовое переименование в папках файлов со счетчиком Переименование файлов в папках с учетом структуры каталогов |
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
07.09.2018, 21:34 | 2 | |||||
Сообщение было отмечено Abraxis2018 как решение
Решение
2
|
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 74
|
|
08.09.2018, 12:04 [ТС] | 3 |
Отлично, все работает! Огромное спасибо, вы сэкономили мне большое количество рабочих часов
0
|
0 / 0 / 0
Регистрация: 06.09.2019
Сообщений: 12
|
|
06.09.2019, 15:13 | 4 |
сем добрый день! Есть желание самому поразбираться в командах, поэтому (пока что) никаких конкретных bat-файлов не прошу написать.
Вопросы по написанному в этой теме коду 1) Верно ли я понимаю, что 3ая строка задает обход по самим каталогом (/r) и предполагает работу с их названиями (/d), а в качестве обхода задана вся папка ("*")? 2) Зачем нужно "delims=" в 5ой строке? 3) Что именно делает команда '2^>nul dir /a-d/b "*"' в 5ой строке?
0
|
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
06.09.2019, 15:54 | 5 |
рекурсия - путешествие в глубину
предписывает работу только с папками, на файлы не смотрим по умолчанию (см. справку: for /?) разбиение строки по пробелу и если не определить разбиение по ничего, то из строки с пробелом будет взята только часть ее до пробела, а не вся строка (напр.: имя папки "Papka 12" может превратиться в "Papka" и просто не будет найдена, если таковой нет) далее читайте справку: dir /? и все отсюда, так как вопросов меньше не станет далее, наоборот.
1
|
0 / 0 / 0
Регистрация: 06.09.2019
Сообщений: 12
|
|
06.09.2019, 18:24 | 6 |
Спасибо, с используемыми параметрами для dir разобрался.
И даже (в первом приближении) с конструкцией 2^>nul. А верно я понимаю, что ~nxd должно взять имя с расширением файла, но благодаря тому, что файл согласно параметру /d в передыдущем for у нас является папкой, то и остается у нас только само и название этой папки?
0
|
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
06.09.2019, 21:08 | 7 |
тут вот в чем дело.
Например имя папки: "Papka.2019" и если взять ~nd, то выводом будет: "Papka", а не "Papka.2019" как вывело бы при ~nxd.
1
|
0 / 0 / 0
Регистрация: 06.09.2019
Сообщений: 12
|
|
07.09.2019, 18:39 | 8 |
Точно! Спасибо за пояснение!
0
|
07.09.2019, 18:39 | |
07.09.2019, 18:39 | |
Помогаю со студенческими работами здесь
8
Переименование файлов в папках с добавлением к именам этих файлов имён этих папок Написать сценарий для подсчёта количества файлов в заданной папке, включая файлы во вложенных папках Переименование двух файлов, лежащих в двух разных папках Удаление всех файлов в папках и под папках, кроме тех в которых в названии есть определенно слово Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
|
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows
Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
|
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
|
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
|
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
|
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
|
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
|
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|