View previous topic :: View next topic |
Author |
Message |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Oct 09, 2010 21:52 Post subject: |
|
|
Batya
Скрипт не работает, если в пути к файлам есть уникодные символы.
Quote: | Ошибка: Требуется объект: ''
Код: 800A01A8 | Нельзя исправить?
PS
В именах и в буфере уникода нет (и не будет) |
|
Back to top |
|
 |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sun Oct 10, 2010 13:08 Post subject: |
|
|
Хочешь, можешь сделать консольную утилиту, которая будет выдавать в консоль содержимое буфера обмена, предварительно заменяя запрещённые символы
Code: | ConsoleWrite(StringRegExpReplace(StringStripWS(StringStripCR(ClipGet()),3),'[\\/:*?"<>|]+','_')) |
Просто откомпилируй в екзе с помощью Aut2exe, поставив галочку "Console". |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Oct 10, 2010 13:13 Post subject: |
|
|
Не, это умеет сам скрипт: Code: | 'Массив недопустимых символов. Заменяем их указанным ниже символом
CharArr = Array(Chr(10), Chr(13), "\", "/") |
У меня проблема в китайских и японских иероглифах в названиях папок. |
|
Back to top |
|
 |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sun Oct 10, 2010 14:01 Post subject: |
|
|
Я имел в виду что, имея консольную утилиту, ты мог бы выполнять задачи, выполняемые скриптом, при помощи своих любимых батников. Но раз речь идёт о иероглифах в названии папок, то я не знаю, способны ли батники с таким работать. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Oct 10, 2010 14:18 Post subject: |
|
|
Если Batya не победит иероглифы, я подумаю над батником
ЗЫ
Проблема обойдена заменой параметров на %F |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Mon Oct 11, 2010 10:07 Post subject: |
|
|
Tol!k
Как я понимаю, раз проблема решилась использованием %F, у тебя уникод в путях, а не в именах файлов.
Более корректно будет использовать %WL и в скрипте поменять строку Code: | For Each F In Split(FSO.OpenTextFile(FileList, 1, False).ReadAll, vbNewLine) | на Code: | For Each F In Split(FSO.OpenTextFile(FileList, 1, False, -1).ReadAll, vbNewLine) |
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Mon Oct 11, 2010 18:00 Post subject: |
|
|
Batya, ещё раз спасибо. |
|
Back to top |
|
 |
|