![]() |
Вставить имя файла в текстовый файл (UTF-8 without BOM)
Как бы сделать батник у которого входным параметром был путь до папки и делал он следующие:
Рекурсивно обходил все подпапки от заданной начальной, а также в ней самой для всех файлов с расширенем .mp3 .flac .ape .wv создавал (но не перезаписывал если такой уже есть) текстовой файл в той же папки и с таким же именем, но с расширением .apl и кодировкой UTF-8 without BOM (Dos\Windows). Плюс содержимое этого файла было следующие Код:
[Monkey's Audio Image Link File] |
Jahnhoy, могу предложить решение на WSH:
|
SendMessage, спасибо огромное вам, мне то всеравно, на чем, главное чтоб работал, только вот с ним есть небольшые проблемки почасти unicode'а. Во первых он создает файлы .apl в кодировки ANSI (по крайне мере так показывает notepad++) и выдает ошибку если встречает файлы по типу 01. Transe Amazônico.mp3. А во вторых ну это не ошибка конечно, но можно ли в "Image File=" вписывать не полный путь до файла, а только само название файла.
P.S. Может я неправильно поступил, но я дал скрипту расширение .vbs и сначала он мне выдавал ошибки, потом погуглил оказывается его надо сохранить в ANSI, а до этого он был в UTF-8, и не работал. P.S.S. Я тут вручную поправлял все кодировки и точно убедился, что если в файлах присуствуют диакритические символы (а я любитель французкой музыки и таких файлов у меня очень много), то работает только с такой кодировкой ![]() |
Вложений: 1
Цитата:
Кстати, я назвал у себя файл 01. Transe Amazônico.mp3 и все нормально (смотрите прикрепленный рисунок). Цитата:
Код:
"Image File=" & objOC.ToUtf8(fPath) & vbCrLf & _ Код:
"Image File=" & objOC.ToUtf8(objFSO.GetFileName(fPath)) & vbCrLf & _ |
SendMessage, у вас на скриншоте, имя самого апл файла без этой ô. Я когда запускаю скрипт он сначало выдаёт это
![]() P.S. Win 7 Enterprise SP1 EN но system codepage русская. 1.vbs имеет кодировку ANSI. |
Jahnhoy,
Цитата:
Цитата:
|
Вложений: 1
SendMessage, действительно извините пожалуйста. Но тут чертовщина какая твориться. Проверял щас как на Win7 en так и на WinXP SP3 rus, создал папочку и начинал переименовывать файлы со всякими разными символами и так, на символах ô и ê выдают ошибку, а вот é É à ошибку не выдают, но скрипт все равно делает с é É à не рабочие апл в кодировки ANSI :-( может выложите ваш скрипт которые правильно сработал, мож это как то не так скопировал, а то ничего не могу понять, почему такая избирательность не рабочих символов.
UPD: Прикрепил архив с тестовыми файлами (обычные txt переименованные в Mp3 c разными именами) + сам скрипт. Итог моего теста абсолютно одинаковый на Win7_Enterprise_SP1_ENG и на WinXP_Proffesional_SP3_RUS создаются без ошибок только 3 апл файла (1,2 и 7 трек), но и они с нерабочей кодировкой ANSI. |
Вложений: 1
Цитата:
oleprn.dll ver. 5.1.2600.5512 (xpsp.080413-0852) |
Вложений: 1
Jahnhoy
Честно говоря, я в тупике. У меня никаких ошибок не выдает и создает все файлы нормально. Я прикрепил результат отработки по тестовой папке. Обрабатывалось присланным скриптом. Все файлы notepad++ идентифицирует как "Encode in UTF-8 without BOM". Ждите, когда прояснят ситуацию более компетентные люди. |
SendMessage, действительно все сделало как надо, скажите пожалуйста какая у вас система (и системная локализация) и версия этого oleprn.dll. Может это баг этой dll в новых версиях.
|
Цитата:
oleprn.dll v.5.1.2600.2180 |
Решил проблему. На сколько я понял проблема на моих системах вызывали эти куски
Код:
Set objOC = CreateObject("OlePrn.OleCvt.1") SendMessage еще раз вам говорю спасибо за помощь. |
Время: 02:53. |
Время: 02:53.
© OSzone.net 2001-2025