View previous topic :: View next topic |
Author |
Message |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 10:23 Post subject: как выполнить замену текста в файлах одного типа? |
|
|
Возникла необходимость добавить один символ ко всем файлам определённого типа (lap), т.е. всем, что есть на винте. Вообще всем.
Как?
Возможно, для моей ситуации существует более удобное решение, опишу её на всякий случай:
До тех пор, пока я не узнала о существовании каталогизаторов мультимедиа файлов, я долгое время складывала музыку и прочее в папки по алфавиту (по именам исполнителей или авторов), а для чем-либо интересных файлов создавала на каждый трек или альбом т.н. "список", файл lap (я пользуюсь LA) с тем же именем, что и сам трек, и уже эти lap'ы копировала в папочки по стилям, настроениям, сборникам к различным ситуациям, по множеству признаков, потому что один файл мог входить в несколько разных групп и если его самого копировать много раз, учитывая общие масштабы фонотеки получается большая и бесполезная трата места на винте и потом трудно конкретный файл найти. Вот я и потихоньку несколько лет вела такую фонотеку. Но недавно возникла необходимость сменить букву диска (настоятельная), а lap'ы привязаны (как я поняла) к этой букве. Какие я вижу выходы:
1. "Срочно осваиваю каку-нибудь каталогизатор и пользуюсь только им". Это я буду делать в любом случае, но сделать это "срочно" времени нет совершенно, особенно, учитывая, что их куча разных.
2. Помечаю все существующие lap'ы, например, дефисом перед их именами и постепенно, на те файлы, которые очень нужно послушать, за которыми всё равно лезешь в алфавитный каталог, создавать потихоньку новые lap'ы, чтобы хотя бы наиболее часто прослушиваемые треки иметь под рукой, а старые переименовать, чтобы не путать с новыми. Заодно и инвентеризацию постепенно можно провести (что не лишне).
3. Как-то где-то выяснить, можно ли с помощью какой-то надстройки над LA сделать так, чтобы все мои lap'ы работали с новой буквой диска. Но для меня на этот вопрос найти ответ гораздо труднее, сначала я решила сросить у вас.
Благодарю, что дочитали. Я понимаю, что ситуацию несколько глупая, но мне так жаль моей фонотеки, мне не очень нравятся каталогизаторы (не сам принцип, а то, как они сделаны, в большинстве случаев, но я полюбому буду какой-нибудь расшаривать, это железно), я так привыкла в LA, он такой удобный, и я просто хочу выяснить, есть ли возможность поймать двух зайцев: и букву диска изменить и фонотеку сохранить. Если не найду решения, то обойдусь, конечно, одним зайцем, но проконсультироваться у специалистов полюбому надо.
зы: необходимость в новой букве диска заключается не в том, что я не знаю как её сменить .
! | CaptainFlint: | Заголовок темы исправлен на более соответствующий вопросу и обсуждению. |
Last edited by annix on Sun Aug 17, 2008 11:10; edited 1 time in total |
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Sun Aug 17, 2008 11:10 Post subject: |
|
|
Alt+F7. Находишь все *.lap-файлы. Выносишь на панель. Выделяешь (Alt+Num+, чтобы выделились только файлы с нужным расширением, если нашлось что-то ещё). Жмёшь Ctrl+M. Добавляешь нужный символ (какой символ и куда конкретно нужно вставить не указано, поэтому нужный шаблон не скажу).
Это только один из способов. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 11:11 Post subject: |
|
|
опа, как мы одновременно :). Пасиб, сейчас попробую.
---------------------
Спасибо, всё получилось. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Aug 17, 2008 13:23 Post subject: |
|
|
annix wrote: | есть ли возможность поймать двух зайцев: и букву диска изменить и фонотеку сохранить |
А при чем тут вообще переименование файлов lap? Я-то понял проблему совсем по-другому (а не ухватился за странную, imho, идею с переименованием старых lap-файлов). Нестыковка, как я понял, с плейлистами, в которых применены абсолютные пути к медиа-файлам. После смены буквы диска файлы lap стали нерабочими (возможно, лишь частично, только для записей ссылавшихся на файлы с переименованного диска).
Так чего же файлы-то переименовывать в этом случае? Их просто нужно отредактировать, заменив ссылки на медиа-файлы, которые благодаря переименованию диска стали нерабочими. И сделать эту операцию можно c помощью Тотала (найти все lap файлы, как описал D1P) и вот такого скрипта: http://forum.wincmd.ru/viewpost.php?p=14843
Заменять нужно текст "x:\" на "y:\" (x-старая буква диска, y-новая). Единственное, что нужно учесть, так это последовательность переименований в случае, если переименовывалось сразу несколько букв дисков., чтобы не произошло накладки, но это разруливается весьма просто (не говорю как именно, ибо не знаю как производились переименования дисков).
ps Написанное мною имеет смысл, если речь идет именно о плейлистах ("списках") Light Alloy простого текстового формата. |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 13:41 Post subject: |
|
|
Да, речь идёт именно об этих плейлистах.
Quote: | Заменять нужно текст "x:\" на "y:\" (x-старая буква диска, y-новая). Единственное, что нужно учесть, так это последовательность переименований в случае, если переименовывалось сразу несколько букв дисков., чтобы не произошло накладки, но это разруливается весьма просто (не говорю как именно, ибо не знаю как производились переименования дисков). |
Сначала все фалы были на диске Е, потом был куплен новий винт и файлы были скорпированы на его логический диск D, далее я хочу переименовать его не в E, как раньше, а в Z, чтобы при подключении этого винта к любым другим компам (есть такая необходимость) логический диск был не какой придётся, в зависимости от количества логических дисков на основном винте компа, к которому подключаюсь, а всегда фиксированный, поэтому я хочу сделать Z, т.к. столько логических дисков ни у кого нет.
99% всех списков у меня сылаются на диск E, и немножко есть на D -- ситуация такая.
Quote: | А при чем тут вообще переименование файлов lap? Я-то понял проблему совсем по-другому (а не ухватился за странную, imho, идею с переименованием старых lap-файлов). |
Вы проблему поняли абсолютно правильно, только я (т.к. не владею материалом) не знала, что это так легко сделать, и собиралась переименовать старые списки, чтобы они сами по себе были, но чтобы в них не тыкать а постепенно исправлять по одному. Я просто не знала, что мне так просто помочь. Только одна проблема, я совершенно в этом смысле невежественна: "скрипт" это текст, который нужно вставить куда? |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 14:31 Post subject: |
|
|
Я Вас правильно поняла, что нужно создать файл ReplaceInFiles.vbs
открыть его блокнотом и вставить в него текст кода и заменить "Введите искомую строку" на "E:" и "Введите строку для замены" на "Z:", потом найти и выделить все lap-файлы и запустить этот ReplaceInFiles.vbs?
-----------------
ой, сори, ничего заменять не надо, да?
Last edited by annix on Sun Aug 17, 2008 15:27; edited 1 time in total |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 14:43 Post subject: |
|
|
Я вставила код в этот файл полностью, выделила все нужные файлы, ткнула на этот ReplaceInFiles.vbs он сказал "Введите искомую строку" я ввела "E:", потом сказал "Введите строку для замены", я ввела "Z:", а потом произошло это:http://pixs.ru/showimage/ScreenShot_5463776_80050.jpg |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Aug 17, 2008 15:25 Post subject: |
|
|
annix, предложу другой вариант решения проблемы:
мой любимый текстовый редактор EditPlus может открывать в одном окне несколько файлов (я открывал несколько десятков) и может заменять во всех открытых файлах |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 15:30 Post subject: |
|
|
Volniy
ОЙ, извините, Вы же сказали со слешем надо "E:\" и "Z:\", я попробовала со слешем, но результат тот же, только "строка: 25" а не "24"...
Tol!k
сейчас найду линк на закачку и испробую, спасибо.
------------------
скачала, установила, Tol!k, а как там все lap выцедить, как в тотал коммандере? (наверно, накак, частями придётся... а их 2,5 тыщи...)
Volniy, Вы скажите, проблема в том, что я что-то неправильно делаю, или в другом? |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Aug 17, 2008 16:07 Post subject: |
|
|
annix, все lap выцедить в тотал коммандере D1P wrote: | Alt+F7. Находишь все *.lap-файлы. Выносишь на панель. Выделяешь (Alt+Num+, чтобы выделились только файлы с нужным расширением, если нашлось что-то ещё). | Потом контекстное меню - "EditPlus";
или перетащи мышью на открытое окно EditPlus |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 17:07 Post subject: |
|
|
Если из tc открывать, то файлы открываются каждый в отдельном окошке, а не во вкладках, а ещё у каждого окошка надо тыкнуть "i agree"... 2,5 тысячи раз... |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Aug 17, 2008 17:14 Post subject: |
|
|
annix, меню Document > Permanent Settings > General > сними Allow multiple instants.
меню Search > Replace > выбери All open files и жми Replace All. |
|
Back to top |
|
 |
Kent
Joined: 14 Dec 2004 Posts: 208
|
(Separately) Posted: Sun Aug 17, 2008 18:15 Post subject: |
|
|
Что-то вы какие-то ужасы пишете. Интересно посмотреть на состояние EditPlus с 2500 открытых файлов.
Попробуйте эту программу.
Ещё могу предложить "find ... -exec sed ..."  |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Aug 17, 2008 18:41 Post subject: |
|
|
2annix
Я вас прошу не паникуйте, не хватайтесь пробовать все программы, которые вам тут подсовывают. У каждого свои предпочтения и у каждого свое мнение, какой софт лучше. Но мы ведь с вами на форуме, посвященном Тоталу, посему есть смысл воспользоваться его возможностями. Согласны?
Насчет скрипта: если файлик VBS вы уже создали, теперь можно мышкой затащить его прямо на панельку инструментов (зажмите клавишу Shift при этом). Получится новая кнопочка. Кликните по ней правой кнопкой мыши и выберите команду "Изменить" из выпавшего меню. В окошке найдите поле Параметры и вставьте там "%L", дальше жмите ОК. Кнопка для замены готова к работе.
Теперь, если вам нужно произвести замену текста в каких-то текстовых файлах нужно чтобы они оказались в окне Тотала и при этом были отмечены (выделены).
Можете начинать тестирование. Для начала возьмите пару неработающих lap-файлов (а то и просто их копии) и проверьте работу скрипта на них. Итак их нужно выделить и нажать нашу кнопку. На первый запрос введите e:\, на второй z:\. Только аккуратно, никаких лишних пробелов ни в начале ни в конце. Дождитесь сообщения, что замена успешно завершена. ОК, теперь можете проверить работоспособность этих lap-файлов. Если все ОК, можете заняться остальными 2500 файлами Можно сразу все, можно и частями обрабатывать, тут уж как вам угодно. |
|
Back to top |
|
 |
annix
Joined: 08 May 2008 Posts: 24
|
(Separately) Posted: Sun Aug 17, 2008 18:52 Post subject: |
|
|
Спасибоньки! Получилось!Volniy победил. (Но спасибо всем =)
Volniy, после переименования появляются какие-то файлы с расширением bak, после их удаления lap работают, они зачем-то нужны или можно их удалить потом? |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|