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
Volniy



PostPosted: Sun Jul 30, 2006 18:05    Post subject: Reply with quote

Lamer wrote:
Так что ждём Batуu.

Так он вроде по выходным на форуме не появляется. Так что пока даю свой вариант скрипта:
Code:
'=========================[ Start of file ]=========================
'  File:         NonStopCopy.vbs
'  Description:  Производит копирование (рекурсивное) выделенных
'                файлов и папок утилитой Non-Stop Copy
'  Installation: Создайте кнопку на панели TC
'                Команда: "диск:\путь\к\файлу\nonstopcopy.vbs"
'                Параметры: "%L" "%T" (именно в кавычках!)
'                Изменить! Const Exe = """Путь к файлу nscopy.exe"""
'  Copyright:    (c) 2006, Volniy

Option Explicit

Const Exe = """C:\Hard\nscopy\nscopy.exe"""
Dim FSO, WSH
Dim SourceList, TargetDir, TargetFile, cnt, Entry
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")

SourceList=Wscript.Arguments(0)
TargetDir=Wscript.Arguments(1)

Set SourceList = FSO.OpenTextFile(SourceList, 1)
Do While Not SourceList.AtEndOfStream
  Entry = SourceList.ReadLine
  If FSO.FileExists(Entry) Then
    TargetFile = FSO.BuildPath( TargetDir, FSO.GetFileName(Entry))
    WSH.Run Exe & " """ & Entry & """ """ & TargetFile & """ /e", 0, True
    cnt = cnt +1
  End If
 
  If FSO.FolderExists(Entry) Then
    Call FolderProcess(FSO.GetFolder(Entry), FSO.GetFolder(Entry).name)
  End If
Loop

MsgBox "Скопировано " & cnt & " файл(а,ов)!", vbInformation,"Завершено!"
Set SourceList = Nothing
Set FSO = Nothing
Wscript.Quit()

Function FolderProcess(CurrFolder, SDir)
  Dim sf, f, p
  p=FSO.BuildPath(TargetDir, SDir)
  On Error Resume Next
  FSO.CreateFolder p
  On Error Goto 0
 
  For Each sf in CurrFolder.SubFolders
    Call FolderProcess(sf, FSO.BuildPath( SDir, sf.Name))
  Next

  For Each f in CurrFolder.Files
    TargetFile = FSO.BuildPath(p, f.name)
    WSH.Run Exe & " """ & f.Path & """ """ & TargetFile & """ /e", 0, True
    cnt = cnt +1
  Next
End Function
'=========================[  End of file  ]=========================

Кнопка:
Quote:
TOTALCMD#BAR#DATA
C:\Scripts\nonstopcopy.vbs
"%L" "%T"
C:\Hard\nscopy\nscopy.exe
Скопировать с помощью Non-Stop Copy


-1
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group