![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переименование файлов в папке по имени папки_счётчик |
|
CMD/BAT - Переименование файлов в папке по имени папки_счётчик
|
Новый участник Сообщения: 4 |
Есть большое количество папок с разными именами. Все эти папки содержаться в одной исходной папке. В каждой папке содержатся по несколько файлов с разными именами.
Прошу помощи - нужен батник который будет переименовывать файлы в этих папках по названию папок_счётчик и записывать все эти переименованные файлы вместе с папками в другое место. В то время как исходное место (откуда эти файлы с папками берутся должно остаться неизменным.) У самого никак не получается это реализовать. Зарание спасибо. |
|
Отправлено: 17:55, 04-03-2013 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать При такой постановке надёжнее выделять номер из имени исходного файла. Вот вариант решения (похоже, не очень элегантный)
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion FOR /D %%p IN ("D:\Папка номер 1\*.*") DO ( Set From=%%p Set To=!From:D:\Папка номер 1=D:\Упорядоченная папка! Set NewName=%%~nxp If Not Exist "!To!\" md "!To!\" FOR %%f IN ("%%p\*.*") DO ( Call :Number "%%~nf" If Not !Num!==0 Copy "%%f" "!To!\!NewName!_!Num!%%~xf" >Nul ) ) GoTo :Eof :Number Set Num=0 Set N=%~1 Set NN=%N:~-1% Set M=%N:~-2% If "%M:~0,1%"=="_" Set Num=00%NN%& GoTo :Eof Set NN=%N:~-2% Set M=%N:~-3% If "%M:~0,1%"=="_" Set Num=0%NN%& GoTo :Eof Set NN=%N:~-3% Set M=%N:~-4% If "%M:~0,1%"=="_" Set Num=%NN%& GoTo :Eof Замечание насчет замены Copy на Move остаётся в силе |
------- Последний раз редактировалось megaloman, 06-03-2013 в 00:09. Отправлено: 23:59, 05-03-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата Sergo_zloy:
@Echo Off SetLocal EnableDelayedExpansion Set folder=e:\Temp\3 3 Set OutFolder=e:\Temp\Out xCopy /T "%folder%\*" "%OutFolder%\" For /F "tokens=*" %%a In ('Dir /B /S /A:D "%folder%"') Do ( For /F "tokens=*" %%i In ('Dir /B /S /A:-D "%%~a" 2^>Nul') Do ( Set name=%%~ni Call :_ExtractN Copy "%%i" "%OutFolder%\%%~nxa\%%~nxa_!name!%%~xi" ) ) Pause Exit :_ExtractN Set name=%name:*_=% If Not "%name%"=="%name:*_=%" GoTo :_ExtractN GoTo :EOF |
|
Отправлено: 11:49, 06-03-2013 | #12 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Возможно для кого-то несложно будет написать скрипт создания папок от 01 до 12?
|
Отправлено: 10:06, 17-01-2014 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:58, 17-01-2014 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Переименование файлов с заменой символов по маске | Constantant | Скриптовые языки администрирования Windows | 41 | 29-03-2016 03:40 | |
CMD/BAT - [решено] открытие файлов по расширению (не по имени) | 9119 | Скриптовые языки администрирования Windows | 1 | 17-12-2012 10:52 | |
CMD/BAT - Переименование группы файлов по дате создания | Serg2010 | Скриптовые языки администрирования Windows | 8 | 14-04-2012 00:40 | |
Переименование группы файлов по дате создания | Serg2010 | AutoIt | 1 | 10-04-2012 10:25 | |
CMD/BAT - Удаление старых файлов по имени файлов | Bиктор | Скриптовые языки администрирования Windows | 1 | 19-04-2010 03:37 |
|