|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Групповое переименование файлов по маске |
|
||||
|
|
CMD/BAT - [решено] Групповое переименование файлов по маске
|
|
Новый участник Сообщения: 12 |
Доброго времени суток! В написании командных скриптов только разбираюсь. Помогите, пожалуйста, реализовать задачу. Необходимо перемещать файлы картинок из одной папки в другую с переименованием их по маске (001, 002, 003, ...), если файл уже существует, должен добавляться следующий номер. Спасибо заранее всем откликнувшимся за ответ.
|
|
|
Отправлено: 19:53, 04-12-2016 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать a_sheludko, Не понятно, что Вы имеете ввиду под маской. Приведите несколько примеров как было имя файла и как должно быть.
|
|
------- Отправлено: 21:38, 04-12-2016 | #2 |
|
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать megaloman, то есть есть папка №1 с картинками, и их нужно копировать в папку №2 с именами 001.jpg, 002.jpg и так далее
|
|
Отправлено: 23:30, 04-12-2016 | #3 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать megaloman, добавлю: «…пропуская нумерацию существующих имён в конечной папке».
a_sheludko, а что делать, если файлов окажется более 999? |
|
Отправлено: 00:36, 05-12-2016 | #4 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать @echo off
set "d_in=papka_in"
set "d_out=papka_out"
for /f "delims=" %%a in ('dir/a-d/b "%d_in%\*.jpg"') do set/a n+=1& set "m=00!n!"& copy "%d_in%\%%~nxa" "%d_out%\!m:~-3!%%~xa"
pause>nul
Цитата Iska:
|
||
|
Отправлено: 00:49, 05-12-2016 | #5 |
|
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Указал как входящий каталог papka_in с файлами *.jpg, но почему-то ошибка "Синтаксическая ошибка в имени файла, имени папки или метке тома". В чем может быть дело? Вроде все правильно. Возможно, что то "не вижу", не так делаю.
|
|
Отправлено: 01:44, 05-12-2016 | #6 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата a_sheludko:
|
|
|
Отправлено: 03:01, 05-12-2016 | #7 |
|
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата a_sheludko:
Цитата a_sheludko:
@echo off
setlocal
set "source=C:\Images\1"
set "destination=C:\Images\2"
if not exist "%source%\" exit /b 1
if not exist "%destination%\" exit /b 2
for /f "delims=" %%i in ('2^>nul dir /a-d /b /on "%source%\*.jpg"') do (
set /a i+=1
for /f %%j in ('set /a i') do (
set "j=00%%j"
cmd /v /c^
for /l %%k in (^) do @^
if not exist "%destination%\!j:~-3!%%~xi" (^
move "%source%\%%i" "%destination%\!j:~-3!%%~xi"^&^
exit /b !i!^
^) else^
^>nul set /a i+=1^&^
set "j=00!i!"
call set i=%%errorlevel%%
)
)
endlocal
exit /b 0
Файлы с восклицательными знаками в имени тоже будут перемещаться и переименовываться . |
||
|
Отправлено: 06:02, 05-12-2016 | #8 |
|
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Georgio, спасибо. Работает. Признателен за помощь.
|
|
Отправлено: 09:30, 05-12-2016 | #9 |
|
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Добрый день , помогите со скриптом для переименования такого типа файла:
P_005418798TM.jpg P_005418798FM.jpg P_005418798D1.jpg P_005418798D2.jpg и чтобы переименовывалось в: 54187_98_1.jpg 54187_98_2.jpg 54187_98_3.jpg 54187_98_4.jpg чтобы убирало нули может быть файлов больше 4-x P_005418798D5.jpg P_005418798D7.jpg 54187_98_5.jpg 54187_98_6.jpg |
|
Отправлено: 13:51, 28-12-2018 | #10 |
|
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| CMD/BAT - Переименование файла по маске. | Damien_here | Скриптовые языки администрирования Windows | 5 | 13-06-2017 12:51 | |
| CMD/BAT - Пакетное переименование файлов по маске | Viktor99 | Скриптовые языки администрирования Windows | 1 | 15-08-2016 23:25 | |
| CMD/BAT - [решено] Переименование файлов с заменой символов по маске | Constantant | Скриптовые языки администрирования Windows | 41 | 29-03-2016 03:40 | |
| CMD/BAT - Переименование файлов по маске | tobornforlife@vk | Скриптовые языки администрирования Windows | 5 | 24-02-2014 17:07 | |
| CMD/BAT - [решено] групповое переименование папок в дереве | WChek | Скриптовые языки администрирования Windows | 2 | 19-03-2009 11:43 | |
|