Страница 40 из 42
Добавлено: Вс июн 23, 2019 15:03
Flasher
Ответ на
запрос:
Код: Выделить всё
'==================== VBS ====================
' Сравнение одноимённых каталогов в панелях ТС
' Условие: Путь запуска — пустой
' Параметры: %Z%N %X"%P" "%T"
'=============================================
Set A = WSH.Arguments : If A.Count < 3 Then WSH.Quit
If A(1) = A(2) Then WSH.Quit
With CreateObject("Scripting.FileSystemObject")
If StrComp(.GetAbsolutePathName("") & "\", A(1)) Then _
AP = 2 : NP = 1 Else AP = 1 : NP = 2
If Not .FolderExists("\\?\" & A(AP) & A(0)) Then WSH.Quit
Check = Not .FolderExists("\\?\" & A(NP) & A(0))
End With
With CreateObject("WScript.Shell")
If Check Then .Popup "В другой панели нет одноимённого каталога!",_
1.7, " Сравнение/синхронизация одноимённых каталогов ", 4144 : WSH.Quit
.Run """%COMMANDER_EXE%"" /S=S:= """ & A(1) & A(0) & """ """ & A(2) & A(0) & """"
End With
Скрипт лучше
обычной кнопки, т.к. как не будет выводить окно синхронизации в ложных ситуациях: курсор на файле, [..] или папке без наличия одноимённой в другой панели.
Добавлено: Пт ноя 08, 2019 23:38
krmit
Здравствуйте.
Необходим скрипт, распаковывающий определённый архив из списка в активную панель. Список (архивы 7z с полными путями, желательно внутри самого скрипта и с возможностью добавления/удаления позиций) пронумерован, номер необходимого архива передаётся как параметр.
Или, если со списком не получится, то распаковка определённого архива в активную панель.
Спасибо.
Добавлено: Сб ноя 09, 2019 05:36
Flasher
krmit
Тут принято начинать с поиска. Ищите темы:
Рекурсивная распаковка
Кнопки для 7-Zip
Добавлено: Сб ноя 09, 2019 07:08
krmit
Flasher
Предварительно просмотрел в том числе и эти две темы, ничего похожего не нашел...
Добавлено: Сб ноя 09, 2019 09:04
Flasher
krmit
Эти темы прежде всего соответствуют профилю вопроса.
Выделенные файлы там формируются из временного списка. Ничего не мешает заменить параметр путём к списку с соотв. кодировкой.
Зачем нумеровать список, куда и для чего передавать параметр с номером и удалять какие-то позиции, вы можете объяснить там.
Добавлено: Пн янв 13, 2020 16:49
A.N.T.
Нужен скрипт для упаковки вложенных папок в zip.
Структура такая:
...
D:\Folder_1\result\
D:\Folder_2\result\
D:\Folder_3\result\
D:\Folder_4\result\
...
При выделении Folder_1, Folder_2 и т.д. и запуске скрипта, папки result должны паковаться в result.zip, архивы должны находиться в том же каталоге что и папка result. Если архив существует он должен заменяться новым.
Версия TC 9.50
Добавлено: Пн янв 13, 2020 17:01
Flasher
Код: Выделить всё
'================================ VBS ================================
' Упаковать подкаталоги в одноимённые zip-архивы в выбранных каталогах
' Параметры: %WL "<имя подкаталога>"
'=====================================================================
Option Explicit : Dim A, Mask, FSO, ShA, List, Str, Arch
Set A = WSH.Arguments : If A.Count Then Mask = A(1) Else WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ShA = GetObject("new:{9BA05972-F6A8-11CF-A442-00A0C90A8F39}").Item.document.Application
Set List = FSO.OpenTextFile(A(0),,,-1)
Do: Str = List.ReadLine
If Right(Str, 1) = "\" Then
If FSO.FolderExists(Str & Mask) Then
Arch = Str & Mask & ".zip"
With FSO.CreateTextFile(Arch, 1) .Write "PK" & String(17, Chr(0)) :.Close: End With
ShA.NameSpace(Arch).CopyHere Str & Mask, 13332
End If
End If
Loop Until List.AtEndOfStream : List.Close
Set List = Nothing : Set FSO = Nothing : Set ShA = Nothing
Добавлено: Пн янв 13, 2020 17:09
A.N.T.
Flasher
Благодарю!

Скрипт для поиска файла под курсором в другой панели
Добавлено: Пн июн 01, 2020 21:03
WindR
Прошу помочь со скриптом для поиска файла под курсором в противоположной панели, в том числе и в архивах.
Добавлено: Пн июн 01, 2020 21:23
Flasher
Код: Выделить всё
'=================== VBS ====================
' Поиск подкурсорного объекта в другой панели
' Параметры: %Z%N "%T" [/a]
' /a — ключ добавляет поиск в архивах.
'============================================
Set A = WSH.Arguments
If A.UnNamed.Count = 2 Then T = A(1) Else WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(T) Then WSH.Quit
Set WSS = CreateObject("WScript.Shell")
If A.Named.Exists("a") - ((Split(Split(FSO.OpenTextFile(WSS.Environment("Process")("COMMANDER_INI"))._
ReadAll, "LastSearchOptions=")(1), vbCr)(0) And 1024) = 0) = 0 Then Keys = "{TAB 6} "
WSS.Run "mshta ""javascript:close(clipboardData.setData('text','" & A(0) & "'))""", 7, 1
WSS.SendKeys "{TAB}" : PID = WSS.Exec("%COMMANDER_EXE% /O /S=F """ & T & """").ProcessID
Do : W = WSS.AppActivate(PID) : Loop Until W : WSS.SendKeys "^v" & Keys & "~%-"
Set WSS = Nothing : Set FSO = Nothing
Добавлено: Пн июн 01, 2020 21:42
WindR
Flasher
Спасибо.
А есть возможность обойти ограничение тотала и получить имя из файла в архиве? Другими словами в исходной панели открыт архив.
Добавлено: Пн июн 01, 2020 21:45
Flasher
WindR
Добавил %Z, из головы вылетело.
Добавлено: Пн июн 01, 2020 22:04
WindR
Flasher
Благодарю. Мне кажется достойно добавления в TCKB.
Добавлено: Пн июн 01, 2020 22:18
Flasher
WindR
В разделе много чего есть, что туда имеет ещё больший смысл добавить, просто с обновлениями движка там возник ряд нерешённых проблем (подсветка синтасиса, заливка файлов и т. д.), из-за этого планы по массовому заливанию скриптов и правки нек. страниц лениво зависли.
Кстати, о птицах, если
этот пункт проделан, найденное на панель вываливается?
Добавлено: Вт июн 02, 2020 10:15
WindR
Flasher писал(а):найденное на панель вываливается?
Да, хитрость работает во всех раскладках.