Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[wdx] WinScript Advanced Content Plugin (x86\x64) (new)
Goto page Previous  1, 2, 3 ... 15, 16, 17, 18, 19, 20  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 28 Nov 2012
Posts: 1244

Post (Separately) Posted: Sat Nov 02, 2024 02:41    Post subject: Reply with quote

Исправил пример: уже какое-то время в основном пишу на Lua, привык, что нумерация в массивах идёт с 1.

Ну, мы даже не знаем, с какими параметрами запускаете...Smile) В случаях ругани проще отдельно, навтыкав WScript.Echo, запустить скрипт и посмотреть, что и где.
Split не может работать криво, а в случае неудачи возвращает все, что было передано, в первую ячейку, т.е. в A(0), и как минимум ваш разделитель там будет.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Mon Nov 11, 2024 13:22    Post subject: Reply with quote

А автор здесь вообще не появляется? Нашел ошибку. Плагин спотыкается на кривых именах файлов, типа "День любви" (1990).mp4. Наверное можно этот вопрос решить через скрипт, но хотелось-бы получить исправление в самом плагине.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 784

Post (Separately) Posted: Mon Nov 11, 2024 17:19    Post subject: Reply with quote

AkulaBig
Плуг не поддерживает Unicode. К сожалению, сам столкнулся с таким какое-то время назад.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Mon Nov 11, 2024 19:35    Post subject: Reply with quote

Да, там именно какой-то юникодовский символ. Хотел просто через регэксп удалить его. Но нет. Уже на самом регулярном выражении ошибка выдается. Интересно, как-то можно хотя-бы выйти из скрипта без вывода ошибки?
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 784

Post (Separately) Posted: Tue Nov 12, 2024 00:41    Post subject: Reply with quote

AkulaBig
Проще заранее удалить юникодные символы из имени файла(ов), если только они не представляют какой-то эстетский интерес Smile Я обычно использую [=wdx_translit.ANSI Name] в групповом переименовании, да и все - нет проблемы ))
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 325

Post (Separately) Posted: Tue Nov 12, 2024 01:11    Post subject: Reply with quote

Вообще-то я делал скрипт для winscriptADV, который выдавал мне в строку все юникодные символы в имени файлов и папок, и все работало. Так что поддерживает Юникод. А я все-таки не понял имя файла, кавычки не поддерживаются файловой системой, а вот кавычки-елочки вполне могут стоять, но по вашему примеру непонятно. Там елочки? И что вы хотите вывести и каким скриптом?
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Tue Nov 12, 2024 05:48    Post subject: Reply with quote

Monarch-LFV wrote:
Вообще-то я делал скрипт для winscriptADV, который выдавал мне в строку все юникодные символы в имени файлов и папок, и все работало. Так что поддерживает Юникод.

Не факт. Выдать юникодные символы и обработать их, две большие разницы.
Monarch-LFV wrote:
А я все-таки не понял имя файла, кавычки не поддерживаются файловой системой

И что? Есть множество способов создать такой файл.
Monarch-LFV wrote:
по вашему примеру непонятно. Там елочки?

Там какой-то символ в виде двойных кавычек. Но если скопировать имя файла, вставить в АкельПад и попытаться сохранить в 1251, он говорит, что символ будет потерян.
Monarch-LFV wrote:
И что вы хотите вывести и каким скриптом?

Что я хочу вывести и каким скриптом, я выкладывал. Но так как это никому не нужно, я это удалил.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 325

Post (Separately) Posted: Tue Nov 12, 2024 06:00    Post subject: Reply with quote

AkulaBig wrote:
Что я хочу вывести и каким скриптом, я выкладывал. Но так как это никому не нужно, я это удалил.

Давайте не будем общаться загадками, я не помню что вы писали, а в последствии удалили. Если ждете каких-то советов, то может быть стоит давать конструктивные ответы?
Я вам уже говорил, с юникодными именами файлов у плагина winscriptADV проблем нет. У меня много скриптов с ним работает.
Quote:
Там какой-то символ в виде двойных кавычек. Но если скопировать имя файла, вставить в АкельПад и попытаться сохранить в 1251, он говорит, что символ будет потерян.

Попробую позже, сейчас не за компьютером.

Добавлено спустя 8 минут:

Еще может быть если вы используете стороннюю консольную утилиту или библиотеку, то надо проверить, а может ли она обрабатывать юникодные имена. У меня бывали случаи, когда сама консольная утилита не поддерживала Юникод.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Tue Nov 12, 2024 07:17    Post subject: Reply with quote

Monarch-LFV wrote:

Попробую позже, сейчас не за компьютером.

Вы не сможете попробовать. Ведь сюда вставлено конвертированное имя. Форум юникод не поддерживает.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 325

Post (Separately) Posted: Tue Nov 12, 2024 07:29    Post subject: Reply with quote

Вставьте имя в 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
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Tue Nov 12, 2024 08:44    Post subject: Reply with quote

Победил кривые имена. Если завернуть au3-скрипт в vbs-скрипт, то все отрабатывает отлично.
Теперь возникает вопрос:
Skif_off wrote:
Если скрипт AutoIt запускать из vbs-скрипта, то первый должен читать имя файла из $CmdLine[1] и писать результат в ConsoleWrite

А как вывести несколько результатов? Просто перечислить их в ConsoleWrite через запятую?
И как их превратить в vbs в несколько content?
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Tue Nov 12, 2024 12:38    Post subject: Reply with quote

Monarch-LFV wrote:
Вставьте имя в word, выделите символ кавычек и нажмите Alt+x. Покажет код символа.

Код символа FF02
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 784

Post (Separately) Posted: Tue Nov 12, 2024 13:10    Post subject: Reply with quote

Quote:
Я вам уже говорил, с юникодными именами файлов у плагина winscriptADV проблем нет. У меня много скриптов с ним работает.

Безусловно, это было громкое утверждение с моей стороны, что плуг не поддерживает юникод Smile Надо было быть точнее и говорить только о своей проблеме, которую я описывал пару страниц назад, а не за весь плагин, не разобравшись.

Я толком не пробовал запускать на нем 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, в результате чего файл не может быть найден и обработан скриптом.

Как-то так Smile
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 337

Post (Separately) Posted: Tue Nov 12, 2024 13:14    Post subject: Reply with quote

Я полностью разобрался и с выводом нескольких значений. Остается дописать скрипт до конца.
Orion9 wrote:
в результате чего файл не может быть найден и обработан скриптом.

А попробуйте запускать через vbs-скрипт. У меня получилось. Теперь глотает любые имена.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 784

Post (Separately) Posted: Tue Nov 12, 2024 13:14    Post subject: Reply with quote

AkulaBig
Верните свой удаленный скрипт, хочется на него взглянуть Smile

Добавлено спустя 5 минут:

Quote:
А попробуйте запускать через vbs-скрипт. У меня получилось. Теперь глотает любые имена.

Я примерно понял технику: запустить ahk из vbs, передав ему имя. Может и попробую когда, если возникнет потребность Wink
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 15, 16, 17, 18, 19, 20  Next
Page 16 of 20

 
Jump to:  
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