Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
GHST-lead
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
1

Переименовать файлы во вложенных каталогах

06.09.2015, 18:51. Просмотров 821. Ответов 4
Метки нет (Все метки)

Есть папка, в которой имеются вложенные папки. В них файлы. Нужно присвоить файлам порядковые номера. Т.е. 01.jpg, 02.jpg, 03.jpg, 04.jpg и т.д. Нумерация должна быть не сквозной. В каждой вложенной папке нумерация должна начинаться с 01. Читал несколько тем с форума, но собрать готовый скрипт не получилось.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2015, 18:51
Ответы с готовыми решениями:

Переименовать файлы во вложенных каталогах
Этот код переименовывает одно расширение на другое, но в той же папке. Как сделать так, чтобы...

Переименовать файлы
Здравствуйте! Помогите пожалуйста написать bat'ник. Есть папка, в которой сотни 3 картинок JPG, с...

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

Переименовать файлы в папках
Добрый день! Дано: папка foto, в ней неограниченное число папок с названиями по принципу "052-01",...

Переименовать все пнг файлы
Есть каталог в котором лежит бат файл, в этом же каталоге n-ое число папок пронумерованы 1..n в...

4
ComSpec
3411 / 1955 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
06.09.2015, 19:20 2
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
 
set "dir=C:\Test"
 
pushd "%dir%"
for /f "delims=" %%i in ('2^>nul dir/ad/b') do (
 set n=100
 pushd "%%i"
 for /f "delims=" %%j in ('2^>nul dir/a-d/b') do (
  set/a n+=1
  call ren "%%j" "%%n:~1%%%%~xj"
 )
 popd
)
popd
 
exit/b
1
sov44
1761 / 745 / 128
Регистрация: 09.04.2011
Сообщений: 1,318
06.09.2015, 19:36 3
ComSpec, почему с использованием "call' ? Вопрос привычки или какой-то глубинный смысл?
0
GHST-lead
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
06.09.2015, 20:04  [ТС] 4
ComSpec, спасибо. Все сработало, но почему то файлы после переименования встали не в том порядке, в котором изначально были, т.е. отсортированы они были по алфавиту и я думал, что в таком порядке они и останутся при переименовании, но получилось так, что первый файл оказался, например 18.jpg. В чем может быть причина?
0
sov44
1761 / 745 / 128
Регистрация: 09.04.2011
Сообщений: 1,318
06.09.2015, 21:12 5
Цитата Сообщение от GHST-lead Посмотреть сообщение
В чем может быть причина?
В отсутствии ключа сортировки файлов "/o:n" в команде dir (строка 9 кода)
Windows Batch file
1
 for /f "delims=" %%j in ('2^>nul dir/a-d/on/b') do (
GHST-lead, телепатов мало, о порядке переименования нужно изначально излагать в т.з.
2
06.09.2015, 21:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2015, 21:12

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

Переименовать, переместить файлы в папках
Здравствуйте, прошу помощи в решении проблемы. Исходные данные: папка с фотографиями, в ней...

Переименовать файлы, добавив дату
Нужно пакетно переименовать джипеги вида img_xxxx.jpg в год_месяц_день_час_минуты. В итоге...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru