Страница 29 из 42
Добавлено: Пт июл 13, 2012 17:06
Flasher
LonerD писал(а):распаковка выделенного в каталог, в котором лежит архив
противоречит
LonerD писал(а):выделенное распаковывается в каталог рядом с архивом
Короче, что-то вроде склейки
этого и
этого?
Добавлено: Пт июл 13, 2012 19:29
LonerD
противоречит
Подправил.
Короче, что-то вроде склейки этого и этого?
Первый из указанных скриптов - совсем не то. Нужна не рекурсивная распаковка нескольких архивов, а распаковка тех файлов, которые мы выделили, находясь внутри архива (как именно должна происходить распаковка - описано в последнем абзаце реквеста).
Второй - да, можно взять за основу и расширить его функционал:
1. Сделать защиту от дурака. Если файл находится в корневом каталоге диска или выделена строка перехода на уровень выше (то есть переместить на уровень вверх невозможно) - ничего не делать и не выбивать ошибку. Сейчас скрипт выбивает ошибку.
2. Добавить ключом возможность не только перемещать, но и копировать на уровень вверх.
3. Если мы находимся
внутри архива, то выделенное распаковывается в тот каталог, в котором лежит архив.
Добавлено: Сб июл 14, 2012 23:57
Flasher
LonerD писал(а):Первый из указанных скриптов - совсем не то.
Согласен. Поспешил. Пиши список используемых утилит (7-zip.exe, FreeArc, NanoZIP и т.д.).
LonerD писал(а):Сделать защиту от дурака. Если файл находится в корневом каталоге диска или выделена строка перехода на уровень выше (то есть переместить на уровень вверх невозможно) - ничего не делать и не выбивать ошибку. Сейчас скрипт выбивает ошибку.
Это я во многих скриптах делаю. Там просто забыл про это.
2. Ок.
Добавлено: Сб авг 18, 2012 22:14
LonerD
[s]и когда я хотел завязать,они снова затянули меня обратно[/s]
И когда я только доделал скрипт - тему благополучно закрыли, а потом ещё и wincmd на сутки отключили. Потому выложу туточки.
В общем,
здесь был запрос про архивацию через Тотал именно с помощью одной кнопочки, именно через 7-Zip в архив zip.
Вариант с использованием Тотала и утилиты
TCIMG.
Если хочется архивировать в zip именно через 7-Zip архиватор (а у него есть свои фишки, в частности степень архивации zip лучше, чем другие архиваторы), то расширение zip в Тотале должно быть настроено на плагин Total7Zip, и должен быть отключён встроенный zip-упаковщик.
Собственно, скрипт универсальный и позволяет создавать архивы с любым расширением через установленные в Тотал wcx-плагины.
Для запрошенного действия - параметры запуска %T "%O" "" 0 0
Скрипт:
http://dreamlair.net/download/ArhiveDreamLair.vbs
(модераторы, перепечатайте скрипт на форум, раз уж мне это непозволительно).
Добавлено: Сб авг 18, 2012 23:34
Flasher
LonerD
Опять выпрыгиваниями окон балуемся?

Написал бы, я бы слегка
этот скрипт поправил, хотя лично мне матрёшки (одна папка в архиве) не нужны, я хочу, заходя в некогда упакованный архив, сразу видеть корневую структуру бывшего каталога, воссоздающегося элементарно при последующей распаковке уже другим скриптом.
Добавлено: Пт ноя 09, 2012 18:30
Flasher
Тут запрос:
Код: Выделить всё
'=====================================================================================
' Cоздание папки/файла c буферным именем и возможностью перехода
' Условие: путь запуска очистить
' Возможные параметры: <переходить к элементу: 1> <расширение файла, если - файл>
' Примеры: <пусто> | 1 | "" lst | 1 txt
'=====================================================================================
With WScript.Arguments
C = .Count : If C > 0 Then Open = .Item(0) : If C > 1 Then Ext = .Item(1)
End With
With CreateObject("WScript.Shell")
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = .RegRead(P) : CD = .CurrentDirectory & "\"
If A > 0 Then .RegWrite P, 0, "REG_DWORD"
C = Trim(CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text"))
If A > 0 Then .RegWrite P, A, "REG_DWORD"
End With
If C <> "" Then
If InStr(C, vbLf) > 0 Then C = Left(C, InStr(C, vbCr) - 1)
R C, """", "''" : R C, "|", "-" : R C, ":", " -"
R C, ";", "," : R C, "\", "_" : R C, "/", "_" : R C, "?", "_"
With CreateObject("Scripting.FileSystemObject")
Const M = 1
If Ext = "" Then
Name = C
Do While .FolderExists(CD & Name)
l = l + 1 : If l < 10^M Then PFx = Right(String(M, "0") & l, M) Else PFx = l
Name = C & " (" & PFx & ")"
Loop : .CreateFolder(CD & Name)
Else
Name = C & "." & Ext
Do While .FileExists(CD & Name)
l = l + 1 : If l < 10^M Then PFx = Right(String(M, "0") & l, M) Else PFx = l
Name = C & " (" & PFx & ")." & Ext
Loop : .CreateTextFile(CD & Name)
End If
End With
If Open = "" Then CreateObject("WScript.Shell").SendKeys "^R" Else _
CreateObject("WScript.Shell").Exec "%COMMANDER_EXE% /O /S /L=""" & CD & Name & "\'"""
End If : Sub R(N, A, B) : N = Replace(N, A, B) : End Sub
Добавлено: Пт ноя 09, 2012 23:18
berya
Добрый вечер.
Выдает ошибку
---------------------------
Windows Script Host
---------------------------
Сценарий: D:\Program Files (x86)\Total Commander\VBS\name2.vbs
Строка: 10
Символ: 3
Ошибка: Не удается открыть для чтения раздел реестра "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407".
Код: 80070002
Источник: WshShell.RegRead
---------------------------
ОК
---------------------------
[mod="Avada"]Это и ряд последующих сообщений перенесены из обсуждения темы "Обмен кнопками" в более подходящее место.[/mod]
Добавлено: Пт ноя 09, 2012 23:20
AlexTex
Flasher
Огромное спасибо!
Работает с параметром "%P", если поставить "%P" | "%T" txt выдает "Недопустимое имя или номер файла".
А можно сделать так, чтобы папка сразу открывалась?
Добавлено: Пт ноя 09, 2012 23:24
Flasher
berya
Хм. А винда какая? IE установлен в системе?
AlexTex писал(а):если поставить "%P" | "%T" txt
| - это разделитель между примерами.

Написано же "Пример
ы".
Выше указаны параметры по предназначению.
Добавлено: Сб ноя 10, 2012 00:23
berya
Windows 7 Ultimate x64 Ru
IE установлен в системе
Добавлено спустя 27 минут:
Проблема решена - "настроить зоны безопасности "
Спасибо
Добавлено: Сб ноя 10, 2012 00:35
Flasher
berya писал(а):Проблема решена - "настроить зоны безопасности "
Можно поконкретней? Не очень понимаю, почему нет доступа к той ветке. Какая опция помогла?
Добавлено: Сб ноя 10, 2012 00:45
berya
параметры безопастности - зона Интернета - "разрешить програмный доступ к буферу обмена" - включить[/img]
Добавлено спустя 21 секунду:
параметры безопастности - зона Интернета - "разрешить програмный доступ к буферу обмена" - включить
Добавлено: Сб ноя 10, 2012 00:48
Flasher
berya
Дело в том, что тот ключ в реестре и есть включение доступа к буферу. Странные дела на x64 творяться. Тут что-то другое..
Вообще, я, конечно, могу hta задействовать через js, но не уверен, что это поможет, т.к. берётся тот же объект.
Добавлено: Сб ноя 10, 2012 00:56
berya
при этом работали другие скрипты связанные с буфером обмена
Добавлено: Сб ноя 10, 2012 01:00
Flasher
berya
О как. А какие?