Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
userok1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 4
1

Переименовать jpg файлы, взяв имя из первой строки соответствующего одноименного txt файла

07.03.2017, 09:28. Просмотров 813. Ответов 7
Метки нет (Все метки)

Здравствуйте. Есть такие файлы:
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".

Заранее спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2017, 09:28
Ответы с готовыми решениями:

Переименовать файл, взяв имя из другого файла
Всем привет, прошу прощения за глупый, возможно вопрос. Стоит задача переименовывать файл в...

Как переименовать файл, взяв имя из Memo?
Привет, как переименовать файл, взяв имя из мемо. Я загрузил в мемо текст из txt файла в txt...

Перенос первой строки из txt в конец файла
Здравствуйте, подскажите пожалуйста, как первую строку в txt файле перенести в конец этого файла? ...

Чтение символов только первой строки из файла .txt
Доброе время суток. Подскажите, как считать символы в первой строке текстового файла, пример ...

Переименовать все файлы в одинаковое имя
Приветствую всех форумчан. Помогите решить задачу, нужен батник. Задача такая: Есть много папок в...

7
volodin661
2575 / 1121 / 194
Регистрация: 10.12.2013
Сообщений: 3,780
07.03.2017, 11:27 2
в текстовом редакторе соединяешь 2 требуемые строки и вставляешь в начало слово 'rename '.
переименовав получившийся файл в .bat и отправив на исполнение, получишь желаемое.

Добавлено через 5 минут
при должном умении владения редактором текста весь процесс займёт меньше минуты,
что на несколько порядков меньше времени, затраченного на создание темы на форуме и
ожидания непредсказуемого ответа.
0
userok1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 4
07.03.2017, 12:16  [ТС] 3
Нужен батник, который сканирует какие файлы txt есть в папке, и по ним переименовывает. Файлы постоянно пополняются, поэтому нужен универсальный батник. Textpipe, xstarter - все это умеют делать, но нужен именно батник, никаких сторонних программ - чтоб любой человек скачал, запустил - переименовал. Спасибо.
0
YuS_2
Любознательный
1226 / 668 / 201
Регистрация: 10.03.2016
Сообщений: 1,558
07.03.2017, 14:20 4
Цитата Сообщение от userok1 Посмотреть сообщение
нужен именно батник, никаких сторонних программ
Что Вы понимаете по сторонними программами? Powershell, скажем, для Вас сторонняя программа?
Если нет, то задайте вопрос в ветке про powershell... на cmd получится несколько монструозный код и к тому же очень медленный...
Ну или можно соорудить гибрид. Примеры здесь есть...
0
volodin661
2575 / 1121 / 194
Регистрация: 10.12.2013
Сообщений: 3,780
07.03.2017, 16:08 5
Цитата Сообщение от userok1 Посмотреть сообщение
поэтому нужен универсальный батник.
универсальных батников в природе нет.

но кое-какие универсальные инструменты есть.
java имела все шансы стать в Windows таким инструментом,
но не стала из-за майкрософтовского хамства.
0
userok1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 4
07.03.2017, 16:11  [ТС] 6
Решение (с oszone):
@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
0
volodin661
07.03.2017, 16:23
  #7

Не по теме:

в КВН был такой конкурс,
надо было ответить на вопрос 'Что это такое?'

Итак,
вопрос - Что это такое?

:~0,%Len%%%

ответ:
Раскольников убивает топором старушку-процентщицу

0
alpap
2908 / 1687 / 569
Регистрация: 26.04.2015
Сообщений: 5,589
08.03.2017, 01:59 8
userok1,
ну приведенный код понятен, но ...
а, если вдруг (а почему бы и нет, тем более никто не контролирует, а выполнение производится левым несведущим юзером) строка будет иметь вид:
Ostrov sokrovish?,ч:1/2<том3|14> & еще * поклон = ". R. Stivenson!!!"^@prikluchenia_pirati_morskaya_tema
файл будет рад такому имени.
0
08.03.2017, 01:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2017, 01:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Добавить файлы (.doc, .txt, .jpg) в проект
Всем добрый день!!! помогите пжл, много всяких ссылок на форуме пересмотрел, так ни чего нормально...

Заблокированы файлы. Win7/doc/txt/jpg и др
Ваши файлы зашифрованы с использованием криптостойкого алгоритма RSA-2048. Если хотите их вернуть...

Зашифрованы файлы .pdf. .jpg, .txt, всё хранилище theBat
Компьютер (на работе) поймал трояна. В результате все документы: весь офис, .pdf. .jpg, .txt, всё...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.