Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Фоновая распаковка архивов с последующим удалением архивов 
Author Message
Flasher



PostPosted: Sun Feb 02, 2014 22:57    Post subject: Reply with quote

Cobblestone-TLT
Да, кнопка работает автономно, иначе бы не писал об ограничениях. Скорее ошибка в пути к WinRAR (например, % не сдвоен).
А скрипт таков:
Code:
'======================================================
' Распаковать выбранные архивы в одноимённые папки
' с удалением распакованных архивов

' Параметры: %WL "<путь получателя>"
' Пример:    %WL "%P"
'=================== Путь к WinRAR ====================
WinRAR = """%COMMANDER_PATH%\Utils\WinRAR\WinRAR.exe"""
'======================================================
With WScript.Arguments
  If .Count = 0 Then WScript.Quit
  List = .Item(0) : Path = .Item(1)
End With : If Right(Path, 1) <> "\" Then Path = Path & "\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Set Dict = CreateObject("Scripting.Dictionary")
For Each Ext in Split("ZIP RAR RAR5 7Z 7ZIP ACE ARJ BZ2 CAB GZ ISO JAR LZH TAR UUE")
  Dict.Add Ext, ""
Next
For Each F in Split(FSO.GetFile(List).OpenAsTextStream(1,-1).ReadAll, vbNewLine)
  If F <> "" And Dict.Exists(UCase(FSO.GetExtensionName(F))) Then
    BN = Path & FSO.GetBaseName(F)
    WSH.Run WinRAR & " x " & F & " -ibck -p- -inul """ & BN & "\""", 0, True
    If FSO.FolderExists(BN) Then
      If FSO.GetFolder(BN).Size = 0 Then FSO.DeleteFolder BN, 1 Else FSO.DeleteFile F, 1
    End If
  End If
Next : Set FSO = Nothing : Set WSH = Nothing : Set Dict = Nothing : WScript.Quit

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Feb 04, 2014 00:42; edited 6 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group