![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименовать jpg файлы, взяв имя из первой строки соответствующего одноименного txt |
|
CMD/BAT - [решено] Переименовать jpg файлы, взяв имя из первой строки соответствующего одноименного txt
|
Новый участник Сообщения: 10 |
Здравствуйте. Есть такие файлы:
kniga-0001.txt kniga-0001.jpg kniga-0002.txt kniga-0002.jpg kniga-0003.txt kniga-0003.jpg jurnal-0001.txt jurnal-0001.jpg jurnal-0002.txt jurnal-0002.jpg jurnal-0004.txt jurnal-0004.jpg и т.д. Т.е. есть пара файлов jpg и txt, в текстовом файле первой строкой идет полное имя jpg файла + комментарий после символа @ (всё в первой строке, комментария может и не быть). Задача: нужно из каждого txt файла прочитать первую строку до символа @ (которого может и не быть) и переименовать jpg файл в этот текст. Некоторые полные имена (первая строка до @) могут быть длиннее 255 символов, можно отсекать все, что длиннее, допустим, 150 символов (с запасом на длину пути), добавляя многоточие "...". Пример 1: kniga-0001.txt Ostrov sokrovish. R. Stivenson@prikluchenia_pirati_morskaya_tema Avtor: R.Stivenson Data: 1882 Yazik: Russkiy Нужно переименовать файл "kniga-0001.jpg" в "Ostrov sokrovish. R. Stivenson.jpg". Пример 2: kniga-0002.txt Diktator. S. Snegov Avtor: Sergei Snegov Zhanr: Fantastika Нужно переименовать файл "kniga-0002.jpg" в "Diktator. S. Snegov.jpg". Заранее спасибо! |
|
Отправлено: 09:34, 07-03-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата use809:
|
|
Отправлено: 11:56, 07-03-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать @Echo Off cls Chcp 1251 >nul Set "BoxIn=Z:\Box_In" Set "Ext1=jpg" Set "Ext2=txt" Set /A Len=150 Set "Big=..." Set "Delim=@" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\*.%Ext1%" /B /A:-D 2^>nul`) DO ( If Exist "%BoxIn%\%%~nf.%Ext2%" Call :First "%BoxIn%\%%~nf.%Ext2%" "%BoxIn%\%%f" ) GoTo :Eof :First Set "NName= " FOR /F "usebackq tokens=1 delims=%Delim%" %%n IN (%1) DO Set "NName=%%n" &GoTo :Continue :Continue If "%NName: =%"=="" GoTo :Eof Call Set "NNo=%%NName:~%Len%,1%%" Call Set "NName=%%NName:~0,%Len%%%" If Not "%NNo%"=="" Set "NName=%NName%%Big%" Move /Y %2 "%~dp2%NName%%~x2" >nul GoTo :Eof |
------- Последний раз редактировалось megaloman, 07-03-2017 в 14:10. Отправлено: 14:01, 07-03-2017 | #3 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Благодарю! Работает как надо.
|
Отправлено: 16:10, 07-03-2017 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Копирование первой строки из файла | MultiMax | Скриптовые языки администрирования Windows | 27 | 08-03-2017 14:14 | |
PowerShell - [решено] Cтереть все из первой строки txt файла | Alexander_88 | Скриптовые языки администрирования Windows | 5 | 23-11-2015 18:53 | |
CMD/BAT - [решено] Переместить все файлы JPG и TXT, заканчивающиеся на цифры 0,1,2...9 в номерные папки | use809 | Скриптовые языки администрирования Windows | 2 | 21-11-2015 04:03 | |
VBS/WSH/JS - [решено] Поиск строки по маске в txt файле и замена всей строки из InputBox | ultrarare | Скриптовые языки администрирования Windows | 11 | 03-07-2013 14:37 | |
CMD/BAT - вытащить из 3-x txt файлов строки в 4-й txt и отправить его в шару на сервер | campbell | Скриптовые языки администрирования Windows | 1 | 10-11-2011 09:59 |
|