View previous topic :: View next topic |
Author |
Message |
Baltazar
Joined: 01 Oct 2015 Posts: 59
|
(Separately) Posted: Sun Aug 31, 2025 00:26 Post subject: Как отключить упрощение символов для скриптов tcwshelp ? |
|
|
Есть спецы по 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 |
|
 |
Monarch-LFV

Joined: 22 Jul 2019 Posts: 335
|
(Separately) Posted: Sun Aug 31, 2025 04:45 Post subject: |
|
|
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 |
|
 |
Baltazar
Joined: 01 Oct 2015 Posts: 59
|
(Separately) Posted: Sun Aug 31, 2025 05:26 Post subject: |
|
|
Monarch-LFV wrote: | PS. Также не понял, зачем в вашем скрипте вы вначале разбиваете построчно, а потом сразу же снова объединяете массив в переменную. | Там обработка путей с FTP и из wfx плагинов с заменой на реальные пути на устройствах. Список разбирается, производится замена и всё возвращается назад. С %L листами были заморочки (то ли по линии ftp-ссылок, то ли ещё что, давно было, но помню, что от их использования я отказался и использовал обработку из буфера обмена по cm_CopyFullNamesToClip). |
|
Back to top |
|
 |
Monarch-LFV

Joined: 22 Jul 2019 Posts: 335
|
(Separately) Posted: Sun Aug 31, 2025 05:57 Post subject: |
|
|
Baltazar
Сейчас протестировал на плагине CloudMailRu.wfx, вроде все нормально копируется без заморочек. |
|
Back to top |
|
 |
Baltazar
Joined: 01 Oct 2015 Posts: 59
|
(Separately) Posted: Sun Aug 31, 2025 07:48 Post subject: |
|
|
Monarch-LFV, А FTP ? ftp - пути передаются с адресами и портами в списке ? У меня десктопа нет сейчас под рукой, чтобы проверить. |
|
Back to top |
|
 |
Monarch-LFV

Joined: 22 Jul 2019 Posts: 335
|
(Separately) Posted: Sun Aug 31, 2025 09:01 Post subject: |
|
|
Baltazar
FTP не пользуюсь от слова совсем, поэтому протестировать, к сожалению, не смогу. |
|
Back to top |
|
 |
Baltazar
Joined: 01 Oct 2015 Posts: 59
|
(Separately) Posted: Mon Sep 01, 2025 00:13 Post subject: |
|
|
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"  |
|
Back to top |
|
 |
|