Страница 10 из 36
Добавлено: Ср май 11, 2016 07:04
Iori
Flasher
Теперь понятно.
Огромнейшее спасибо

Добавлено: Сб сен 10, 2016 02:11
Kiril__777
Flasher
всеравно не пойму как работает скрипт, проблему описал
здесь
Добавлено: Сб сен 10, 2016 02:43
Flasher
Kiril__777
Это, увы, не претендует на достаточное описание проблемы. Как правильно её описывать, уже упоминалось в памятке, обязательной для прочтения.
Добавлено: Сб сен 10, 2016 11:18
Avada
Kiril__777
Как модератор
ещё раз повторяю сказанное
здесь: на этом форуме категорически не приветствуются сообщения с демонстративным неиспользованием заглавных букв и знаков препинания. Здесь не чат. Претендуете на помощь — соблюдайте правила. А ссылки пора уже оформлять нормально самому (
исправлено).
Добавлено: Пт мар 03, 2017 13:56
Nick
Здравствуйте.
Что надо изменить
в этом скрипте, чтобы:
- Была возможность указать двойные расширения файлов (например, doc.zip, xls.zip и т.п.)
- Скрипт работал при длинных путях. Он перестает работать (останавливается), если общий путь длиннее 254 символов.
Добавлено: Сб мар 04, 2017 11:04
Flasher
Nick
Указать только для фильтрации? Т.е. без
двойной распаковки?
С длинными я могу поправить, но для таких останется проблема с
переходом к одиночникам некоторых zip.
И вряд ли скрипт работал, тем более что останавливается. И не 254, а 259.
Добавлено: Сб мар 04, 2017 20:02
Nick
Flasher
Да, для фильтрации. Имеется ввиду для того, чтобы можно было распаковать только определенные архивы с двойными расширениями (без двойной распаковки). Проблема с переходом к некоторым zip не так критична.
Flasher писал(а):И вряд ли скрипт работал
Я это и имел ввиду. После запуска скрипта, wscript.exe запускается и после этого сразу завершается его процесс...
Я проверял. У меня, если общий путь (вместе с именем файла)
более 254 символов, то скрипт не работает.
Добавлено: Вс мар 05, 2017 13:21
Flasher
Nick
Что-то как-то подозрительно. Проверим. Что покажет?:
Код: Выделить всё
Folder = "C:\Temp\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path"
File = Folder & "\FileName.7z"
CreateObject("Shell.Application").NameSpace("C:\").NewFolder Mid(Folder, 4)
With CreateObject("Scripting.FileSystemObject")
.CreateTextFile File : If .FileExists(File) Then _
MsgBox "Создан файл " & File & vbCr & "с длиной пути " & Len(File) & " символов."
End With
Также прошу указать пути до скрипта и проблемного архива. Сам архив тоже не помешает. Остальное (не менее важно) по памятке.
К тому же нужно указать на тип выбираемых объектов.
Добавлено: Вс мар 05, 2017 18:07
Nick
Flasher
---------------------------
Создан файл C:\Temp\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\Long Path\FileName.7z
с длиной пути 259 символов.
---------------------------
Путь до срипта: ""C:\Program Files\Total Commander\Scripts\Test.vbs""
Сам архив "FileName.7z" создается и имеет длину - 0 байт. ОС Win7x64.
Версия "wscript.exe" из плагина "FileInfo" - FileVersion: 5.8.7600.16385, ProductVersion : 5.8.7600.16385, File/Product version: 5.8.7601.18283 / 5.8.7601.18283. Не знаю, почему здесь пишутся разные версии файла. А в свойствах самого файла - 5.8.7601.18283.
Если добавить еще папки к пути в файле "Test.vbs", то выводится окно с ошибкой:
---------------------------
Сценарий: C:\Program Files\Total Commander\Scripts\Test - копия.vbs
Строка: 3
Символ: 1
Ошибка: Имя файла или его расширение имеет слишком большую длину.
Код: 800700CE
Источник: (null)
---------------------------
Пример пути: "c:\Users\Administrator\Documents\Мои документы\Общие файлы\Из Интернета\Для аудио\Дополнительные аудио-видео переходники и разъемы\Переходники DEXP\Переходник DEXP 3.5 mm jack 4pin - 3.5 mm jack x2\Купить Переходник DEXP 3.5 mm jack 4pin - 3.5 mm jack x2 в интернет магазине. Характеристики, цена _\Купить Переходник DEXP 3.5 mm jack 4pin - 3.5 mm jack x2 в интернет магазине. Характеристики, цена _.rar"
Тип выбираемых объектов - папки и файлы с длинными путями.
Добавлено: Вс мар 05, 2017 18:40
Flasher
Nick
Всё-таки надо было указать, что текст, идущий после тестового скрипта, касался не его, а обсуждаемого. Думал, это очевидно, т.к. в ином случае рано было бы говорить о проблемном архиве. Тем более, что здесь вообще не задействована 7z. Этот скрипт только лишь доказал, что пути с архивами в 255-259 символов не могли создать проблемы.
Путь к скрипту распаковки нужен абсолютный (с раскрытием переменной среды). Прошу исправить пост и указать отсутствующие нужности.
Добавлено: Вс мар 05, 2017 18:55
Nick
Flasher писал(а):Всё-таки надо было указать, что текст, идущий после тестового скрипта, касался не его, а обсуждаемого.
Если имеется в виду фраза "Тип выбираемых объектов - папки и файлы с длинными путями." то да, это про
этот скрипт, который и обсуждается в этой теме.
Flasher писал(а):Путь к скрипту распаковки нужен абсолютный (с раскрытием переменной среды).
Полный путь: "C:\Program Files\Total Commander\Scripts\Test.vbs"
ОС: Win7x64 SP1, TC (x64) 8.52a.
P.S. Понял, где ошибка была. Верно, при 259 символах в пути скрипт еще распаковывает, а вот начиная с 260 - уже нет. (Ошибся, не учел в пути имя файла с расширением).
Добавлено: Вс мар 05, 2017 20:08
Flasher
Nick писал(а):Если имеется в виду фраза
При чём тут фраза? Написано "текст, идущий
после тестового скрипта". Какой текст идёт в моём посте после скрипта? Не часть, а весь текст.
Жду исправлений.
Nick писал(а):Понял, где ошибка была.
Ну, наконец-то.
Добавлено спустя 1 час 6 минут:
Nick
Скрипт модифицирован.
Добавлено: Вс мар 05, 2017 21:24
Nick
Flasher
Есть некоторые проблемы с двойными расширениями. При трёхсимвольных расширениях, вроде, нормально работает, но, если двойное расширение более 3-х символов или менее - то нет. Например, docx.rar, xlsx.rar, manifest.zip, z.zip и т.п.
Добавлено: Вс мар 05, 2017 21:37
Flasher
Nick
Проблем с зависимостью от длины ни в коде ни в результатах не обнаружено.
Добавлено: Пн мар 06, 2017 16:37
Nick
Flasher
Тем не менее распаковка не происходит. Например, такие параметры: %WL docx.rar|xlsx.rar|html.rar 1 s 1.
Также при распаковке одиночных элементов не перемещается в папку до полного пути, видимо, срабатывает ограничение в 260 символов в пути.