|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименовать jpg файлы, взяв имя из первой строки соответствующего одноименного txt |
|
CMD/BAT - [решено] Переименовать jpg файлы, взяв имя из первой строки соответствующего одноименного txt
|
Новый участник Сообщения: 10 |
Профиль | Отправить PM | Цитировать
Здравствуйте. Есть такие файлы:
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 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить 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 |
|