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 

Как отключить упрощение символов для скриптов tcwshelp ?

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Baltazar



Joined: 01 Oct 2015
Posts: 59

Post (Separately) Posted: Sun Aug 31, 2025 00:26    Post subject: Как отключить упрощение символов для скриптов tcwshelp ? Reply with quote

Есть спецы по tcwshelp/vbs ? Недавно наткнулся на то, что скрипт обрабатывающий скопированные пути файлов/папок "ломает" пути с юникодом внутри (и с умляутами в частности) заменяя (упрощая) на схожие символы и превращая конечный результат в невалидный. Пробовал наводить справки у нейросетей, но без толку. Дипсик даёт советы по обычному vbs, но как выправить ситуацию в tcwshelp он не знает и начинает фантазировать. При использовании скрипта (обрезал по максимуму для упрощения)
Code:
Option Explicit
Dim TCS, Clip, REx, Arr, A, i
Set TCS = CreateObject("TCScript.Helper")

TCS.SendCommand "cm_CopyFullNamesToClip", True

Clip    = TCS.GetTextFromClip
Arr     = Split(Clip, vbNewLine, -1, 1)

Clip = Join(Arr, vbNewLine)
TCS.SetTextToClip(Clip)
Set TCS = Nothing
WScript.Quit
Файл/папка с именем вида "ÜLTRA RAPTÖR" превращается в "ULTRA RAPTOR". Как прекратить подобное упрощение символов ?
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 335

Post (Separately) Posted: Sun Aug 31, 2025 04:45    Post subject: Reply with quote

Baltazar
Не подскажу по поводу tcwshelp, так как не использую его, но это можно сделать просто в VBS с помощью стандартной утилиты clip, входящей в состав Windows.
Юникод сохраняется.

Code:
' Копировать в буфер полные пути к файлам
' Параметры: %WL

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c chcp 65001&&type " & WScript.Arguments(0) & "| clip", 0, True


PS. Также не понял, зачем в вашем скрипте вы вначале разбиваете построчно, а потом сразу же снова объединяете массив в переменную.
Back to top
View user's profile Send private message
Baltazar



Joined: 01 Oct 2015
Posts: 59

Post (Separately) Posted: Sun Aug 31, 2025 05:26    Post subject: Reply with quote

Monarch-LFV wrote:
PS. Также не понял, зачем в вашем скрипте вы вначале разбиваете построчно, а потом сразу же снова объединяете массив в переменную.
Там обработка путей с FTP и из wfx плагинов с заменой на реальные пути на устройствах. Список разбирается, производится замена и всё возвращается назад. С %L листами были заморочки (то ли по линии ftp-ссылок, то ли ещё что, давно было, но помню, что от их использования я отказался и использовал обработку из буфера обмена по cm_CopyFullNamesToClip).
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 335

Post (Separately) Posted: Sun Aug 31, 2025 05:57    Post subject: Reply with quote

Baltazar
Сейчас протестировал на плагине CloudMailRu.wfx, вроде все нормально копируется без заморочек.
Back to top
View user's profile Send private message
Baltazar



Joined: 01 Oct 2015
Posts: 59

Post (Separately) Posted: Sun Aug 31, 2025 07:48    Post subject: Reply with quote

Monarch-LFV, А FTP ? ftp - пути передаются с адресами и портами в списке ? У меня десктопа нет сейчас под рукой, чтобы проверить.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 335

Post (Separately) Posted: Sun Aug 31, 2025 09:01    Post subject: Reply with quote

Baltazar
FTP не пользуюсь от слова совсем, поэтому протестировать, к сожалению, не смогу.
Back to top
View user's profile Send private message
Baltazar



Joined: 01 Oct 2015
Posts: 59

Post (Separately) Posted: Mon Sep 01, 2025 00:13    Post subject: Reply with quote

Monarch-LFV, Собственно перепроверил. Да. Это именно та "заморочка", из-за которой я не использовал %L (и схожие) списки. Для FTP отдаются пути без порта и сервера. А именно по ним и ведётся обработка. Вместо
Code:
ftp://192.168.1.1:11121/media/abc.txt
ftp://192.168.1.1:11121/media/def.txt
списком возвращаются бесполезные
Code:
/media/abc.txt
/media/def.txt
поэтому я и использовал tcwshelp и "cm_CopyFullNamesToClip" Neutral
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
Page 1 of 1

 
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