View previous topic :: View next topic |
Author |
Message |
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Tue Apr 17, 2018 12:06 Post subject: |
|
|
Сооружал команду для перекодировки файлов через EmEditor. Получилось вот что: em-команда Code: | [em_test]
cmd=%COMMANDER_PATH%\AskParam\AskParam64.exe
param=/c"Source Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /t"Binary (ASCII View): 65539" /t"Binary (Hexadecimal View): 65540" /t"Cyrillic (cp866): 866" /t"Cyrillic (iso-8859-5): 28595" /t"Cyrillic (koi8-r): 20866" /t"Cyrillic (koi8-ru): 21866" /t"Detects all encodings: 1048576" /t"Detects Unicode signature (BOM): 131072" /t"Detects UTF-8: 262144" /t"Detects HTML/XML Charset: 524288" /p(h) /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) %%COMMANDER_DRIVE%%\Utils\Text\EmEditor\EmEditor.exe "%P%O.%E" /nr /sp /cp %%1 /cps %%2 /ss%%3 /sa "%P%O.%%2" |
Длина строки параметров около 1000 символов, то есть заведомо меньше, чем 32767. Тестил на пути с пробелами и кириллицей, а именно Code: | f:\Users\Debath\AppData\Local\Temp\явдл фукдл е уц дел | Так вот, выходит, что при длинной строке параметров ее конец откусывается, и в программу передаетсяСтоит же удалить любой из ключей первого окна, как путь к файлу-результату входит полностью. Полная длина пути к файлу 70 символов, то есть далеко не 256.
У меня есть другая em-команда с AskParam, так там длина строки параметров 1968 символов - вдвое больше, чем здесь, и там все работает. Правда, там нет параметров типа %Р - только %1.
Насколько я понимаю, EmEditor у тебя установлен _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Apr 17, 2018 15:49 Post subject: |
|
|
У меня вроде работает:
Code: | [em_test]
cmd=%COMMANDER_PATH%\Addons\AskParam\AskParam64.exe
param=/c"Source Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /t"Binary (ASCII View): 65539" /t"Binary (Hexadecimal View): 65540" /t"Cyrillic (cp866): 866" /t"Cyrillic (iso-8859-5): 28595" /t"Cyrillic (koi8-r): 20866" /t"Cyrillic (koi8-ru): 21866" /t"Detects all encodings: 1048576" /t"Detects Unicode signature (BOM): 131072" /t"Detects UTF-8: 262144" /t"Detects HTML/XML Charset: 524288" /p(h) /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) "D:\Program Files\EmEditor\EmEditor.exe" "%P%O.%E" /nr /sp /cp %%1 /cps %%2 /ss%%3 /sa "%P%O.%%2" |
AskParam получает такую комстроку (смотрю в ProcessHacker):
Code: | "D:\TOTALCMD\Addons\AskParam\AskParam64.exe" /cSource Encoding " /uCyrillic (windows-1251): 1251 " /tSystem Default Encoding: 65536 " /tUnicode (UTF-16LE): 65537 " /tUnicode (UTF-16BE): 65538 " /tUnicode (UTF-8): 65001 " /tUnicode (UTF-7): 65000 " /tBinary (ASCII View): 65539 " /tBinary (Hexadecimal View): 65540 " /tCyrillic (cp866): 866 " /tCyrillic (iso-8859-5): 28595 " /tCyrillic (koi8-r): 20866 " /tCyrillic (koi8-ru): 21866 " /tDetects all encodings: 1048576 " /tDetects Unicode signature (BOM): 131072 " /tDetects UTF-8: 262144 " /tDetects HTML/XML Charset: 524288 " /p(h /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) "D:\Program Files\EmEditor\EmEditor.exe" "D:\Users\Debath\AppData\Local\Temp\явдл фукдл е уц дел\file.txt" /nr /sp /cp %1 /cps %2 /ss%3 /sa "D:\Users\Debath\AppData\Local\Temp\явдл фукдл е у.%2" |
EmEditor получает такую комстроку (чтобы успеть её увидеть, можно попробовать перекодировать файл в UTF-16 без BOM из 1251 в UTF-16 - тогда EmEditor покажет сообщение о нулевых символах в файле):
Code: | "D:\Program Files\EmEditor\EmEditor.exe" "D:\Users\Debath\AppData\Local\Temp\явдл фукдл е уц дел\file.txt" /nr /sp /cp 1251 /cps 65537 /ss+ /sa "D:\Users\Debath\AppData\Local\Temp\явдл фукдл е у.65537" |
Проверь у себя комстроку AskParam, когда нажимаешь кнопку и он показывает окно. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Tue Apr 17, 2018 16:10 Post subject: |
|
|
Вот эта строка не работает: плохо Code: | param=/c"Source Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /t"Binary (ASCII View): 65539" /t"Cyrillic (iso-8859-5): 28595" /t"Cyrillic (koi8-r): 20866" /t"Cyrillic (koi8-ru): 21866" /t"Detects all encodings: 1048576" /t"Detects Unicode signature (BOM): 131072" /t"Detects UTF-8: 262144" /t"Detects HTML/XML Charset: 524288" /p(h) /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /t"Cyrillic (koi8-ru): 21866" /t"Cyrillic (koi8-r): 20866" /t"Cyrillic (iso-8859-5): 28595" /t"Cyrillic (cp866): 866" /t"Binary (Hexadecimal View): 65540" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) %%COMMANDER_DRIVE%%\Utils\Text\EmEditor\EmEditor.exe "%P%O.%E" /nr /sp /cp %%1 /cps %%2 /ss%%3 /sa "%P%O.%%2" |
В первом окне я выбираю 1251 (понятное дело, текущий файл должен иметь эту кодировку), потом - все равно (у меня "Unicode (UTF-16LE)"). Перекодировки не происходит, исходный файл открывается в EmEditor'е.
Вот эта строка: хорошо Code: | param=/c"Source Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /t"Binary (ASCII View): 65539" /t"Cyrillic (iso-8859-5): 28595" /t"Cyrillic (koi8-r): 20866" /t"Cyrillic (koi8-ru): 21866" /t"Detects all encodings: 1048576" /t"Detects Unicode signature (BOM): 131072" /t"Detects UTF-8: 262144" /t"Detects HTML/XML Charset: 524288" /p(h) /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) %%COMMANDER_DRIVE%%\Utils\Text\EmEditor\EmEditor.exe "%P%O.%E" /nr /sp /cp %%1 /cps %%2 /ss%%3 /sa "%P%O.%%2" |
работает отлично - создается перекодированный файл.
Разница в строках со словом "Cyrillic" во втором окне.
Твоя строка (первая) у меня не делает ничего.
Добавлено Quote: | Проверь у себя комстроку AskParam, когда нажимаешь кнопку и он показывает окно | Проверил. Не через ProcessHacker, правда, а через ShowCmdLine, но реально несколько символов (около 20) из конца имени пропадают: усекается часть пути, до имени файла дело не доходит.
Еще добавлено
Еще бы твоя строка что-то делала, если у нее хвост тоже усекается.
Попробуй искусственно "нарастить" длину строки за счет многократного указания одних и тех же ключей.
Еще немного поэкпериментировал. Вот результаты:
1) Если строка усекается "на этапе" имени-источника (%P%O.%E): перекодировка не происходит, а файл-результат с усеченным именем EmEditor предлагает открыть и в случае согласия юзверя создает пустой файл.
2) Если усечение происходит между %P%O.%E и %P%O.%%2, то есть на этапе ключей, то результат вообще может быть каким угодно в зависимости от того, какая часть какого ключа пропала. Как правило, не происходит ничего. Иногда - исходный файл просто открывается в EmEditor'е.
3) Если же усекается файл-результат, то не происходит ничего.
И еще добавлено
Создал суперлайт-версию для тестирования: Code: | cmd=%COMMANDER_PATH%\AskParam\AskParam64.exe
param=/u"Cyrillic (windows-1251): 1251" /p(h) /u"Unicode (UTF-16LE): 65537" /p(h) /u"With Unicode signature (BOM): +" /p(h) "f:\Utils\Text\EmEditor\EmEditor.exe" "%P%O.%E" /nr /sp /cp %%1 /cps %%2 /ss%%3 /sa "%P%O.%%2" | Исходная версия рабочая.
Теперь ставим курсор внутрь любого ключа (между /u и /p) и тупо бьем по клаве. Когда суммарная длина строки параметров оказывается около 1000 символов, команда работать перестает, а строка усекается с конца.
Отсюда вывод - дело именно в длине всей строки, а не в числе ключей и уж тем более в их содержании.
Вот такие пироги... _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Wed Apr 18, 2018 10:49 Post subject: |
|
|
Тут в первую очередь надо понять, где происходит усечение - в тотале при вызове AskParam (в частности, из-за ограничения на длину параметра в файле и поле ввода в диалоге) или в AskParam при вызове EmEditor, и мне пока этого не ясно.
Чтобы проверить, виноват ли тотал, надо посмотреть командную строку AskParam и проверить, всё ли в неё передано, что должно быть передано. И если виноват тотал, остается только сообщить о баге и ждать (или укоротить командную строку, например, с помощью выноса длинной части со списком кодировок в переменную окружения, устанавливаемую с помощью плагина Autorun).
Чтобы проверить, что EmEditor в некоторой ситуации получает не всю команду, надо смотреть его комстроку (это несложно, если редактор открывается и ждет, и сложнее, если он выполняет команду и сразу закрывается).
В любом случае, странно, что команда в ~1000 символов не работает, а в ~2000 символов работает.
Сейчас дописал к своей команде в конец в диалоге редактирования EM-команды кучу мусора (более 1400 символов), в конце которых "SOS SOS SOS". Посмотрел в комстроке AskParam, в конце три SOS присутствуют.
Проверил комстроку EmEditor (вынудив его показать диалог).
Конец комстроки тоже не обрезается.
А взял глубоковложенный тестовый файл:
Code: | D:\Temp\012345678901234567890123456789012345678901234567890123456789\012345678901234567890123456789012345678901234567890123456789\012345678901234567890123456789012345678901234567890123456789\явдл фукдл е уц дел\z |
И редактору передалась битая комстрока (середина вырезана)... Причём, в комстроке AskParam так и указано! Похоже, баг в тотале!
Примеры комстрок для сравнения Code: | # D:\Temp\Test folder name with spaces\z
"D:\TOTALCMD\Addons\AskParam\AskParam64.exe" /cSource Encoding " /uCyrillic (windows-1251): 1251 " /tSystem Default Encoding: 65536 " /tUnicode (UTF-16LE): 65537 " /tUnicode (UTF-16BE): 65538 " /tUnicode (UTF-8): 65001 " /tUnicode (UTF-7): 65000 " /tBinary (ASCII View): 65539 " /tBinary (Hexadecimal View): 65540 " /tCyrillic (cp866): 866 " /tCyrillic (iso-8859-5): 28595 " /tCyrillic (koi8-r): 20866 " /tCyrillic (koi8-ru): 21866 " /tDetects all encodings: 1048576 " /tDetects Unicode signature (BOM): 131072 " /tDetects UTF-8: 262144 " /tDetects HTML/XML Charset: 524288 " /p(h /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) D:\MASM32\projects\cmdline.exe "D:\Program Files\EmEditor\EmEditor.exe" "D:\Temp\Test folder name with spaces\z." /nr /sp /cp %1 /cps %2 /ss%3 /sa "D:\Temp\Test folder name with spaces\z.%2"
# D:\Temp\0123456789\Test folder name with spaces\z
"D:\TOTALCMD\Addons\AskParam\AskParam64.exe" /cSource Encoding " /uCyrillic (windows-1251): 1251 " /tSystem Default Encoding: 65536 " /tUnicode (UTF-16LE): 65537 " /tUnicode (UTF-16BE): 65538 " /tUnicode (UTF-8): 65001 " /tUnicode (UTF-7): 65000 " /tBinary (ASCII View): 65539 " /tBinary (Hexadecimal View): 65540 " /tCyrillic (cp866): 866 " /tCyrillic (iso-8859-5): 28595 " /tCyrillic (koi8-r): 20866 " /tCyrillic (koi8-ru): 21866 " /tDetects all encodings: 1048576 " /tDetects Unicode signature (BOM): 131072 " /tDetects UTF-8: 262144 " /tDetects HTML/XML Charset: 524288 " /p(h /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) D:\MASM32\projects\cmdline.exe "D:\Program Files\EmEditor\EmEditor.exe" "D:\Temp\0123456789\Test folder name with spaces\z." /nr /sp /cp %1 /cps %2 /ss%3 /sa "D:\Temp\0123456789\Test folder .%2"
# D:\Temp\0123456789\012345678901234567890123456789012345678901234567890123456789\Test folder name with spaces\z
"D:\TOTALCMD\Addons\AskParam\AskParam64.exe" /cSource Encoding " /uCyrillic (windows-1251): 1251 " /tSystem Default Encoding: 65536 " /tUnicode (UTF-16LE): 65537 " /tUnicode (UTF-16BE): 65538 " /tUnicode (UTF-8): 65001 " /tUnicode (UTF-7): 65000 " /tBinary (ASCII View): 65539 " /tBinary (Hexadecimal View): 65540 " /tCyrillic (cp866): 866 " /tCyrillic (iso-8859-5): 28595 " /tCyrillic (koi8-r): 20866 " /tCyrillic (koi8-ru): 21866 " /tDetects all encodings: 1048576 " /tDetects Unicode signature (BOM): 131072 " /tDetects UTF-8: 262144 " /tDetects HTML/XML Charset: 524288 " /p(h /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) D:\MASM32\projects\cmdline.exe "D:\Program Files\EmEditor\EmEditor.exe" "D:\Temp\0123456789\012345678901234567890123456789012345678901234567890123456789\Test folder name with spaces\z." /nr .%2"
# D:\Temp\0123456789\012345678901234567890123456789012345678901234567890123456789\012345678901234567890123456789012345678901234567890123456789\Test folder name with spaces\z
"D:\TOTALCMD\Addons\AskParam\AskParam64.exe" /cSource Encoding " /uCyrillic (windows-1251): 1251 " /tSystem Default Encoding: 65536 " /tUnicode (UTF-16LE): 65537 " /tUnicode (UTF-16BE): 65538 " /tUnicode (UTF-8): 65001 " /tUnicode (UTF-7): 65000 " /tBinary (ASCII View): 65539 " /tBinary (Hexadecimal View): 65540 " /tCyrillic (cp866): 866 " /tCyrillic (iso-8859-5): 28595 " /tCyrillic (koi8-r): 20866 " /tCyrillic (koi8-ru): 21866 " /tDetects all encodings: 1048576 " /tDetects Unicode signature (BOM): 131072 " /tDetects UTF-8: 262144 " /tDetects HTML/XML Charset: 524288 " /p(h /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) D:\MASM32\projects\cmdline.exe "D:\Program Files\EmEditor\EmEditor.exe" "D:\Temp\0123456789\012345678901234567890123456789012345678901234567890123456789\0123456789012345678901234567890123456.%2"
# D:\Temp\0123456789\012345678901234567890123456789012345678901234567890123456789\012345678901234567890123456789012345678901234567890123456789\012345678901234567890123456789012345678901234567890123456789\Test folder name with spaces\z
"D:\TOTALCMD\Addons\AskParam\AskParam64.exe" /cSource Encoding " /uCyrillic (windows-1251): 1251 " /tSystem Default Encoding: 65536 " /tUnicode (UTF-16LE): 65537 " /tUnicode (UTF-16BE): 65538 " /tUnicode (UTF-8): 65001 " /tUnicode (UTF-7): 65000 " /tBinary (ASCII View): 65539 " /tBinary (Hexadecimal View): 65540 " /tCyrillic (cp866): 866 " /tCyrillic (iso-8859-5): 28595 " /tCyrillic (koi8-r): 20866 " /tCyrillic (koi8-ru): 21866 " /tDetects all encodings: 1048576 " /tDetects Unicode signature (BOM): 131072 " /tDetects UTF-8: 262144 " /tDetects HTML/XML Charset: 524288 " /p(h /c"Target Encoding" /u"Cyrillic (windows-1251): 1251" /t"System Default Encoding: 65536" /t"Unicode (UTF-16LE): 65537" /t"Unicode (UTF-16BE): 65538" /t"Unicode (UTF-8): 65001" /t"Unicode (UTF-7): 65000" /p(h) /cBOM /u"With Unicode signature (BOM): +" /t"Without Unicode signature (BOM): -" /p(h) D:\MASM32\projects\cmdline.exe "D:\Program Files\EmEditor\EmEditor.exe" "D:\Temp\0123456789\012345678901234567890123456789012345678901234567890123456789\0123456789012345678901234567890123456.%2" |
Добавлено спустя 1 час:
Сообщил о баге, заодно заметил важную вещь: суммарная длина комстроки, с которой запускается программа, при обрезании одинакова, т.е. где-то тотал упирается в какое-то внутреннее ограничение. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Sat May 19, 2018 09:31 Post subject: |
|
|
Еще баг, аналогичный предыдущему, причем здесь спихнуть вину на EmEditor точно не получится.
Речь вот об этом нововведении: history.txt wrote: | 13.03.18 Added: Command line: support switching to virtual folders via GUID, e.g. for drive list, use cd ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} (32/64) | (хотя, конечно, подобные команды работали и раньше, в том числе и у меня, но... не в таком количестве и не в связке с AskParam)
Строка параметров AskParam Code: | /u"Internet Explorer: {871C5380-42A0-1069-A2EA-08002B30309D}" /t"AutoPlay: {9C60DE1E-E5FC-40f4-A487-460851A8D915}" /t"Administrative Tools: {D20EA4E1-3957-11d2-A40B-0C5020524153}" /t"Libraries: {031E4825-7B94-4dc3-B131-E946B44C8DD5}" /t"Windows Firewall: {4026492F-2F69-46B8-B9BF-5654FC07E423}" /t"All Tasks: {ED7BA470-8E54-465E-825C-99712043E01C}" /t"All Control Panel Items: {21EC2020-3AEA-1069-A2DD-08002B30309D}" /t"Location and Other Sensors: {E9950154-C418-419e-A90A-20C5287AE24B}" /t"Credential Manager: {1206F5F1-0569-412C-8FEC-3204630DFB70}" /t"HomeGroup: {67CA7650-96E6-4FDD-BB43-A8E774F73A57}" /t"HomeGroup folder: {6785BFAC-9D2D-4be5-B7E2-59937E8FB80A}" /t"Games: {ED228FDF-9EA8-4870-83b1-96b02CFE0D52}" /t"Favorites: {323CA680-C24D-4099-B94D-446DD2D7249E}" /t"Computer: {20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t"Recycle Bin: {645FF040-5081-101B-9F08-00AA002F954E}" /t"My Documents: {450D8FBA-AD25-11D0-98A8-0800361B1103}" /t"Recent Places: {22877a6d-37a1-461a-91b0-dbda5aaebc99}" /t"Public: {4336a54d-038b-4685-ab02-99bb52d3fb8b}" /t"Control Panel (Category): {26EE0668-A00A-44D7-9371-BEB064C98683}" /t"Folder Options: {6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}" /t"Tablet PC Settings: {80F3F1D5-FECA-45F3-BC32-752C152E456E}" /t"Font settings: {93412589-74D4-4E4E-AD0E-E0CB621440FD}" /t"Portable Devices: {35786D3C-B075-49b9-88DD-029876E11C01}" /t"Pen and Touch: {F82DF8F7-8B9F-442E-A48C-818EA735FF9B}" /t"Personalization: {ED834ED6-4B5A-4bfe-8F11-A626DCB6A921}" /t"Remote Desktop Connection: {241D7C96-F8BF-4F85-B01F-E2B043341A4B}" /t"Search: {2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}" /t"Get Programs: {15eae92e-f17a-4431-9f28-805e482dafd4}" /t"Printers: {2227A280-3AEA-1069-A2DE-08002B30309D}" /t"Programs and Features: {7b81be6a-ce2b-4676-a29e-eb907a5126c5}" /t"Default Programs: {17cd9488-1228-4b2f-88ce-4298e93e0966}" /t"Desktop: {3080F90D-D7AD-11D9-BD98-0000947B0257}" /t"Speech Recognition: {58E3C745-D971-4081-9034-86E34B30836A}" /t"Default Location: {00C6D95F-329C-409a-81D7-C46C66EA7F33}" /p(h) %%COMMANDER_EXE%% /L=::"%%1" /s /t /o |
Длина строки около 2000 символов. Так вот, при отработке команды производится попытка запустить новую копию Тотала, потому что ключ /o откусывается (для моих путей - до состояния ".../s /"). Стоит убрать любой /t-ключ, и все пучком.
MVV, моя команда изменения кодировки теперь работает отлично. То есть похоже, что граница ошибки просто сдвинулась с 1k символов на 2k, но при этом осталась. И похоже, дело не в %O. Это так? _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 19, 2018 11:36 Post subject: |
|
|
Вахмурка
Из твоего списка толк есть только от: cd ::{D20EA4E1-3957-11d2-A40B-0C5020524153} \\Администрирование (9.20 b1+)
cd ::{031E4825-7B94-4dc3-B131-E946B44C8DD5} \\Библиотеки
cd ::{ED7BA470-8E54-465E-825C-99712043E01C} \\Все задачи (9.20 b1+)
cd ::{21EC2020-3AEA-1069-A2DD-08002B30309D} cm_OpenControls
cd ::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52} \\Игры
cd ::{323CA680-C24D-4099-B94D-446DD2D7249E} \\Избранное (9.20 b1+)
cd ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} cm_OpenDrives
cd ::{645FF040-5081-101B-9F08-00AA002F954E} cm_OpenRecycled
cd ::{450D8FBA-AD25-11D0-98A8-0800361B1103} \\Мои документы
cd ::{4336a54d-038b-4685-ab02-99bb52d3fb8b} \\Общие
cd ::{26EE0668-A00A-44D7-9371-BEB064C98683} \\Панель управления
cd ::{7b81be6a-ce2b-4676-a29e-eb907a5126c5} \\Программы и компоненты (9.20 b1+) Эти GUID на Win 7 вообще никуда не ведут: cd ::{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}
cd ::{80F3F1D5-FECA-45F3-BC32-752C152E456E}
cd ::{F82DF8F7-8B9F-442E-A48C-818EA735FF9B}
cd ::{2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}
cd ::{3080F90D-D7AD-11D9-BD98-0000947B0257} Остальное — пустые папки. Так стоит ли с длиной заморачиваться? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 19, 2018 12:19 Post subject: |
|
|
Вахмурка wrote: | или в TC, что вероятнее | Вот и проверь без AskParam. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sat May 19, 2018 13:03 Post subject: |
|
|
Вручную дописал остаток строки в BAR-файл, нажал кнопку, посмотрел комстроку AskParam: обрезается после "/s /".
Полагаю, в тотале просто есть ограничение на длину читаемой из INI-файла строки, из-за чего она обрезается. И, учитывая позицию обрезки, это ограничение равно 2048. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Sat May 19, 2018 13:13 Post subject: |
|
|
Тогда это баг, ибо TC help wrote: | The maximum length of the command line is limited to 2047 characters on Windows 2000, and 8191 characters on Windows XP (the maximum supported by these operating systems) | Не знаю как у тебя, а у меня Win7x64, то есть явно не 2000.
Зарепортишь на англофоруме?
Получается, что Тоталу все равно, откуда брать параметры - из *.bar или из usercmd.ini. Разве это логично? _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
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
|