View previous topic :: View next topic |
Author |
Message |
Skif_off
Joined: 28 Nov 2012 Posts: 1244
|
(Separately) Posted: Sat Nov 02, 2024 02:41 Post subject: |
|
|
Исправил пример: уже какое-то время в основном пишу на Lua, привык, что нумерация в массивах идёт с 1.
Ну, мы даже не знаем, с какими параметрами запускаете... ) В случаях ругани проще отдельно, навтыкав WScript.Echo, запустить скрипт и посмотреть, что и где.
Split не может работать криво, а в случае неудачи возвращает все, что было передано, в первую ячейку, т.е. в A(0), и как минимум ваш разделитель там будет. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Mon Nov 11, 2024 13:22 Post subject: |
|
|
А автор здесь вообще не появляется? Нашел ошибку. Плагин спотыкается на кривых именах файлов, типа "День любви" (1990).mp4. Наверное можно этот вопрос решить через скрипт, но хотелось-бы получить исправление в самом плагине. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 784
|
(Separately) Posted: Mon Nov 11, 2024 17:19 Post subject: |
|
|
AkulaBig
Плуг не поддерживает Unicode. К сожалению, сам столкнулся с таким какое-то время назад. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Mon Nov 11, 2024 19:35 Post subject: |
|
|
Да, там именно какой-то юникодовский символ. Хотел просто через регэксп удалить его. Но нет. Уже на самом регулярном выражении ошибка выдается. Интересно, как-то можно хотя-бы выйти из скрипта без вывода ошибки? |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 784
|
(Separately) Posted: Tue Nov 12, 2024 00:41 Post subject: |
|
|
AkulaBig
Проще заранее удалить юникодные символы из имени файла(ов), если только они не представляют какой-то эстетский интерес Я обычно использую [=wdx_translit.ANSI Name] в групповом переименовании, да и все - нет проблемы )) |
|
Back to top |
|
 |
Monarch-LFV

Joined: 22 Jul 2019 Posts: 325
|
(Separately) Posted: Tue Nov 12, 2024 01:11 Post subject: |
|
|
Вообще-то я делал скрипт для winscriptADV, который выдавал мне в строку все юникодные символы в имени файлов и папок, и все работало. Так что поддерживает Юникод. А я все-таки не понял имя файла, кавычки не поддерживаются файловой системой, а вот кавычки-елочки вполне могут стоять, но по вашему примеру непонятно. Там елочки? И что вы хотите вывести и каким скриптом? |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Tue Nov 12, 2024 05:48 Post subject: |
|
|
Monarch-LFV wrote: | Вообще-то я делал скрипт для winscriptADV, который выдавал мне в строку все юникодные символы в имени файлов и папок, и все работало. Так что поддерживает Юникод. |
Не факт. Выдать юникодные символы и обработать их, две большие разницы.
Monarch-LFV wrote: | А я все-таки не понял имя файла, кавычки не поддерживаются файловой системой |
И что? Есть множество способов создать такой файл.
Monarch-LFV wrote: | по вашему примеру непонятно. Там елочки? |
Там какой-то символ в виде двойных кавычек. Но если скопировать имя файла, вставить в АкельПад и попытаться сохранить в 1251, он говорит, что символ будет потерян.
Monarch-LFV wrote: | И что вы хотите вывести и каким скриптом? |
Что я хочу вывести и каким скриптом, я выкладывал. Но так как это никому не нужно, я это удалил. |
|
Back to top |
|
 |
Monarch-LFV

Joined: 22 Jul 2019 Posts: 325
|
(Separately) Posted: Tue Nov 12, 2024 06:00 Post subject: |
|
|
AkulaBig wrote: | Что я хочу вывести и каким скриптом, я выкладывал. Но так как это никому не нужно, я это удалил. |
Давайте не будем общаться загадками, я не помню что вы писали, а в последствии удалили. Если ждете каких-то советов, то может быть стоит давать конструктивные ответы?
Я вам уже говорил, с юникодными именами файлов у плагина winscriptADV проблем нет. У меня много скриптов с ним работает.
Quote: | Там какой-то символ в виде двойных кавычек. Но если скопировать имя файла, вставить в АкельПад и попытаться сохранить в 1251, он говорит, что символ будет потерян. |
Попробую позже, сейчас не за компьютером.
Добавлено спустя 8 минут:
Еще может быть если вы используете стороннюю консольную утилиту или библиотеку, то надо проверить, а может ли она обрабатывать юникодные имена. У меня бывали случаи, когда сама консольная утилита не поддерживала Юникод. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Tue Nov 12, 2024 07:17 Post subject: |
|
|
Monarch-LFV wrote: |
Попробую позже, сейчас не за компьютером.
|
Вы не сможете попробовать. Ведь сюда вставлено конвертированное имя. Форум юникод не поддерживает. |
|
Back to top |
|
 |
Monarch-LFV

Joined: 22 Jul 2019 Posts: 325
|
(Separately) Posted: Tue Nov 12, 2024 07:29 Post subject: |
|
|
Вставьте имя в word, выделите символ кавычек и нажмите Alt+x. Покажет код символа. Или в акелпаде есть плагин hex, внизу в отдельном поле показываются все коды выделенных символов.
Добавлено спустя 16 минут:
Попробуйте привязать этот скрипт (Unicode_In_Fullpath.vbs) к WinscriptADV:
Code: | ' Script for WinScriptAdv content plugin
' Показывает юникодные символы (не ANSI) в полном пути к файлу/папке
on error resume next
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = "[^\x00-\x7F\u0400-\u0451\u2116]"
objRegEx.Global = True
Set Matches = objRegEx.Execute(filename)
For Each Item In Matches
text=text & Item.Value
Next
content=text |
В файле options.ini:
Code: | [Unicode_In_Fullpath]
; Показывает юникодные символы (не ANSI) в полном пути к файлу/папке
Script=Unicode_In_Fullpath.vbs
content=юникодные символы в полном пути к файлу/папке
extensions=*
FoldersPaths=1 |
|
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Tue Nov 12, 2024 08:44 Post subject: |
|
|
Победил кривые имена. Если завернуть au3-скрипт в vbs-скрипт, то все отрабатывает отлично.
Теперь возникает вопрос:
Skif_off wrote: | Если скрипт AutoIt запускать из vbs-скрипта, то первый должен читать имя файла из $CmdLine[1] и писать результат в ConsoleWrite |
А как вывести несколько результатов? Просто перечислить их в ConsoleWrite через запятую?
И как их превратить в vbs в несколько content? |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Tue Nov 12, 2024 12:38 Post subject: |
|
|
Monarch-LFV wrote: | Вставьте имя в word, выделите символ кавычек и нажмите Alt+x. Покажет код символа. |
Код символа FF02 |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 784
|
(Separately) Posted: Tue Nov 12, 2024 13:10 Post subject: |
|
|
Quote: | Я вам уже говорил, с юникодными именами файлов у плагина winscriptADV проблем нет. У меня много скриптов с ним работает. |
Безусловно, это было громкое утверждение с моей стороны, что плуг не поддерживает юникод Надо было быть точнее и говорить только о своей проблеме, которую я описывал пару страниц назад, а не за весь плагин, не разобравшись.
Я толком не пробовал запускать на нем vbs-скрипты, но сейчас переделал немного свой старый скрипт, который делал еще для script.wdx, и все работает:
Code: | [GetDrive]
Script=GetDrive.vbs
content=DriveName
content1=DriveType
content2=FileName
extensions=*
FoldersPaths=0
|
Code: | Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
content = fs.GetDriveName(filename)
content1 = DriveType(content)
content2 = filename
Function DriveType(drvpath)
Dim fs, d, s, t
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(drvpath)
Select Case d.DriveType
Case 0: t = "Unknown"
Case 1: t = "Removable"
Case 2: t = "Fixed"
Case 3: t = "Network"
Case 4: t = "CD-ROM"
Case 5: t = "RAM Disk"
End Select
DriveType = t
End Function
set fs=nothing |
В content2 нормально попадает юникодное имя Michel Teló - Ai Se Eu Te Pego.mp4
Но с Autohotkey совсем другая история. Не смотря на то, что в справке к плагину говорится о поддержке передачи юникодных символов во внешние exe-интерпретаторы:
Quote: | WinScriptAdv sends to global variable 'filename' (fixed name for all scripts and engines) a full path (long, unicode) to the file |
По факту ее нет. Вместо этого создается временный файл WinScriptAdvFile_.ahk в формате ANSI, в котором, соответственно, юникодное имя файла ichel Teló - Ai Se Eu Te Pego.mp4 теряется и становится обычным ANSI именем Michel Telo - Ai Se Eu Te Pego.mp4, в результате чего файл не может быть найден и обработан скриптом.
Как-то так  |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 337
|
(Separately) Posted: Tue Nov 12, 2024 13:14 Post subject: |
|
|
Я полностью разобрался и с выводом нескольких значений. Остается дописать скрипт до конца.
Orion9 wrote: | в результате чего файл не может быть найден и обработан скриптом.
|
А попробуйте запускать через vbs-скрипт. У меня получилось. Теперь глотает любые имена. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 784
|
(Separately) Posted: Tue Nov 12, 2024 13:14 Post subject: |
|
|
AkulaBig
Верните свой удаленный скрипт, хочется на него взглянуть
Добавлено спустя 5 минут:
Quote: | А попробуйте запускать через vbs-скрипт. У меня получилось. Теперь глотает любые имена. |
Я примерно понял технику: запустить ahk из vbs, передав ему имя. Может и попробую когда, если возникнет потребность  |
|
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
|