Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26

Цикл переименования файлов - CMD/BAT

16.07.2017, 23:06. Показов 5354. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помите пожалуйста, есть 66 файлов, как пронумировать "по 11"?
Т.е. Есть:
Кликните здесь для просмотра всего текста
VRayGlobalIllumination_View010000.tif
VRayGlobalIllumination_View020000.tif
VRayGlobalIllumination_View030000.tif
VRayGlobalIllumination_View040000.tif
VRayGlobalIllumination_View050000.tif
VRayGlobalIllumination_View060000.tif
VRayGlobalIllumination_View070000.tif
VRayGlobalIllumination_View080000.tif
VRayGlobalIllumination_View090000.tif
VRayGlobalIllumination_View100000.tif
VRayGlobalIllumination_View110000.tif
VRayZDepth_View010000.tif
VRayZDepth_View020000.tif
VRayZDepth_View030000.tif
VRayZDepth_View040000.tif
VRayZDepth_View050000.tif
VRayZDepth_View060000.tif
VRayZDepth_View070000.tif
VRayZDepth_View080000.tif
VRayZDepth_View090000.tif
VRayZDepth_View100000.tif
VRayZDepth_View110000.tif


Надо:
Кликните здесь для просмотра всего текста
1-VRayGlobalIllumination_View010000.tif
1-VRayZDepth_View010000.tif
2-VRayGlobalIllumination_View020000.tif
2-VRayZDepth_View020000.tif
3-VRayGlobalIllumination_View030000.tif
3-VRayZDepth_View030000.tif
4-VRayGlobalIllumination_View040000.tif
4-VRayZDepth_View040000.tif
5-VRayGlobalIllumination_View050000.tif
5-VRayZDepth_View050000.tif
6-VRayGlobalIllumination_View060000.tif
6-VRayZDepth_View060000.tif
7-VRayGlobalIllumination_View070000.tif
7-VRayZDepth_View070000.tif
8-VRayGlobalIllumination_View080000.tif
8-VRayZDepth_View080000.tif
9-VRayGlobalIllumination_View090000.tif
9-VRayZDepth_View090000.tif
10-VRayGlobalIllumination_View100000.tif
10-VRayZDepth_View100000.tif
11-VRayGlobalIllumination_View110000.tif
11-VRayZDepth_View110000.tif

Цикл 1-11

Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.07.2017, 23:06
Ответы с готовыми решениями:

BAT для переименования файлов с конкретным именем
Приветствую. Нужен BAT для переименования файлов с конкретным именем (несколько типов имен не больше 50-ти) Не могу разобраться сам,...

Цикл переименования файлов
Здравствуйте! Нужна помощь: Делаю скрипт для переименования определённых файлов по маске: @echo off set aw="2123451" ...

Учебник по созданию *.BAT и *.CMD файлов
Дайте ссылку на хороший учебник по созданию *.BAT и/или *.CMD файлов.

26
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.07.2017, 01:43
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<# :
  :: всего лишь блок для чтения батника и запуска кода в powershell
  @echo off
    powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -command ^
     "&{[ScriptBlock]::Create((cat '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
  pause
  exit /b
#> 
 
# скрипт переименования файлов
dir *.tif| %{ 
    if ($_.name -match "[1-9]{1,2}") {
        ren -path $_.name -newname ("{0}-{1}" -f $matches[0],$_.name) -WhatIf
        }
    }
P.S. Для реального переименования убрать параметр -WhatIf.
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
17.07.2017, 10:16  [ТС]
Garry Galler
Это надо сохранить в bat файл в папке с tif'ами?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.07.2017, 16:16
Да.
Для запуска из любой папки:
PowerShell
1
2
3
4
5
dir ваш_папка\*.tif
# или так
dir ваша_папка -filter *.tif
# или перед командой dir
cd ваша_папка
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
17.07.2017, 18:01  [ТС]
Garry Galler, Дико извиняюсь. Не могу правильно запустить...

Есть папка "With_tif", в ней файл Rename.bat.
В нём
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<# :
  :: всего лишь блок для чтения батника и запуска кода в powershell
  @echo off
    powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -command ^
     "&{[ScriptBlock]::Create((cat '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
  pause
  exit /b
#> 
 
# скрипт переименования файлов
dir *.tif| %{ 
    if ($_.name -match "[1-9]{1,2}") {
        ren -path $_.name -newname ("{0}-{1}" -f $matches[0],$_.name) -WhatIf
        }
    }
А как запустить не могу разобратся...
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.07.2017, 21:49
Цитата Сообщение от Greeench Посмотреть сообщение
А как запустить не могу разобратся..
Что конкретно не получается? Запуск - двойным щелчком. Для реальной работы (а не вывода в консоль того, что будет сделано) нужно убрать параметр -WhatIf.

Добавлено через 1 минуту
P.S. И у вас должна быть не windows XP, а как минимум Windows 7.
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 08:46  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Что конкретно не получается? Запуск - двойным щелчком. Для реальной работы (а не вывода в консоль того, что будет сделано) нужно убрать параметр -WhatIf.
Папка "d:\Work\rename"
В ней файлы:
Кликните здесь для просмотра всего текста
VRayGlobalIllumination_View010000.tif
VRayGlobalIllumination_View020000.tif
VRayGlobalIllumination_View030000.tif
VRayGlobalIllumination_View040000.tif
VRayGlobalIllumination_View050000.tif
VRayGlobalIllumination_View060000.tif
VRayGlobalIllumination_View070000.tif
VRayGlobalIllumination_View080000.tif
VRayGlobalIllumination_View090000.tif
VRayGlobalIllumination_View100000.tif
VRayGlobalIllumination_View110000.tif
VRayZDepth_View010000.tif
VRayZDepth_View020000.tif
VRayZDepth_View030000.tif
VRayZDepth_View040000.tif
VRayZDepth_View050000.tif
VRayZDepth_View060000.tif
VRayZDepth_View070000.tif
VRayZDepth_View080000.tif
VRayZDepth_View090000.tif
VRayZDepth_View100000.tif
VRayZDepth_View110000.tif


Создал rename.bat
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<# :
  :: всего лишь блок для чтения батника и запуска кода в powershell
  @echo off
    powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -command ^
     "&{[ScriptBlock]::Create((cat '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
  pause
  exit /b
#> 
 
# скрипт переименования файлов
dir *.tif| %{ 
    if ($_.name -match "[1-9]{1,2}") {
        ren -path $_.name -newname ("{0}-{1}" -f $matches[0],$_.name)
        }
    }
Запускаю двойным кликом- ничего не происходит...
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.07.2017, 12:51
Ну а с параметром -WhatIf у вас хоть что-то выводилось?
У меня, как вы понимаете, все работает. И если вы неправильно указали расширение ваших файлов - и у вас в действительности tiff, а не tif - то, разумеется, ничего не будет работать, потому что скрипт просто не находит файлы для обработки.

Добавлено через 40 минут
Попробуйте добавить
Windows Batch file
1
cd %~dp0
после команды echo off.
Или перед командой dir:
Code
1
cd ваша_папка
Или указывайте полный путь до вашей папки в команде dir:
Code
1
2
3
dir ваш_папка\*.tif
# или так
dir ваша_папка -filter *.tif
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
18.07.2017, 14:15
Цитата Сообщение от Greeench Посмотреть сообщение
Создал rename.bat
а ежели переименовать батник, например - myRename.bat?
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 14:18  [ТС]
Garry Galler, С -Whatif тоже ничего не происходит...
Кликните здесь для просмотра всего текста

С добавлениями тоже...
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.07.2017, 15:26
Greeench,
Не запускайте из TC - запустите из проводника.
Он его как-то не так запускает - батник не должен вообще закрываться: там pause стоит.
А Total Commander почему-то у вас закрывает окно.
И почему я не могу разглядеть букву i в расширении файла? У вас tif или tf?
P.S. Насчет переименования - хотя у меня и с таким именем работает - но вы все-таки на всякий случай переименуйте, как посоветовали.
Я не работаю с TotalCommaner и не в курсе как он запускает и какую рабочую директорию устанавливает.
С cd %~dp0 должно работать 100%.
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 15:51  [ТС]
Garry Galler, Мне уже неудобно...
Кликните здесь для просмотра всего текста
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.07.2017, 16:01
Не понимаю почему батник у вас закрывается.
Вы батники на своем компе вообще запускали?
Если в пустом файле прописать команду pause - что у вас будет? Тоже закроется?
Тогда у вас что-то не так с ОС.
-----------------------------------------------
PowerShell
1
2
3
4
5
6
cd "здесь укажите полный путь до своей папки без слеша в конце"
dir *.tif*| %{ 
    if ($_.name -match "[1-9]{1,2}") {
        ren -path $_.name -newname ("{0}-{1}" -f $matches[0],$_.name)
        }
    }
Сохраните это все в файле с расширением .ps1. Откройте cmd. Наберите команду
Windows Batch file
1
powershell  -nop -exec bypass  "полный путь до вашего файла .ps1"
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 16:26  [ТС]
Garry Galler, Сработало! Спасибо

Добавлено через 6 минут
Garry Galler, Только он "10"-й воспримает как "1"-й, а с "11" всё норм
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.07.2017, 16:49
Цитата Сообщение от Greeench Посмотреть сообщение
Только он "10"-й воспримает
Да, точно - не подумал что так будет с 10 при шаблоне "[1-9]{1,2}".
Можно его заменить на "[\d]{2}" - правда, тогда, перед одиночными цифрами будет всего 0.
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 16:54  [ТС]
Garry Galler, Спасибо
А это нельзя изменить?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.07.2017, 17:04
Можно. Добавить [int] перед $matches[0]. Тогда строки вида 01\02\03 будут приводиться к типу int то есть к числу 1,2,3 и т.д.
Итоговый вариант:
PowerShell
1
2
3
4
5
6
cd "здесь укажите полный путь до своей папки без слеша в конце"
dir *.tif*| %{ 
    if ($_.name -match "[\d]{2}") {
        ren -path $_.name -newname ("{0}-{1}" -f [int]$matches[0],$_.name)
        }
    }
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 18:01  [ТС]
Garry Galler, Супер! ГРОМАДНОЕ СПАСИБО!

Добавлено через 4 минуты
Garry Galler,
З.Ы. Жаль оно у меня из bat'a не запускается))
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.07.2017, 18:16
Цитата Сообщение от Greeench Посмотреть сообщение
Жаль оно у меня из bat'a не запускается
Саму команду запуска ps1 скрипта можете попробовать все-таки из батника запускать.
А вот почему у вас гибридный вариант не работает - это для меня так и осталось загадкой.
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 26
18.07.2017, 18:27  [ТС]
Garry Galler, Поможете?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2017, 18:27
Помогаю со студенческими работами здесь

Batch (CMD/BAT) несколько заданий на CMD/BAT
1.Напишите bat файл на диске с ,который будет искать на всех дисках файлы с расширением exe,скопирует на диск с папку EXE в сортированном ...

Не работает CMD/BAT для удаления файлов на дисках в Windows XP
Добрый день Создал bat файл для удаления определенных файлов на всех дисках в Windows XP Не удаляются файлы в C:\Documents and...

Подсчет количества выполняемых файлов (exe, cmd, bat) в каталоге
Помогите пожалуйста выполнить задание! Необходимо создать командный файл, выполняющий подсчет количества выполняемых файлов (exe,cmd,bat)...

Бесконечный цикл bat файлов
Добрый день. В программирование я не силен. Не могу разобраться в запуске bat файлов. Например запускаю файл для создания отчета...

Bat`ник для переименования файла
Не могу ни как решить проблему с выводом сообщения. Кто может помогите! Вот текст батника: Echo off if not exist %1 goto not_file ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru