jehaz
|
Posted: Fri Aug 10, 2007 21:49 Post subject: |
|
|
Скрипт копирует множество файлов во множество папок. Вешаем на кнопку, в параметрах указываем %L, далее выделяем файлы, жмем на кнопку, потом выделяем папки и еще раз жмем на кнопку. Выделенные файлы будут скопированы в выделенные папки. Что бы выделить папки, разбросанные в разных местах по разным дискам, используем прекрасную возможность выделять папки во время установки вида "Дерево каталогов".
С WHS только знакомлюсь, поэтому возможно не совсем по правилам написан скрип, но работает. И еще возникает исключение, если во время выделения файлов выделить каталог. Пока не догнал как исправить. Script Helper не использует, поэтому возможна работа с Total commander установленном на флешке.
Code: | Set WshArg = WScript.Arguments
If WshArg.Count>0 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
aargument = WshArg.Item(0)
Set WSHShell = CreateObject("WScript.Shell")
Set ObjEnv = WSHShell.Environment("Process")
ttemp = ObjEnv("TEMP")
ppath = ttemp & "\filelisttemp.txt"
If FSO.FileExists (ppath) then
Set folderlist = FSO.getfile(aargument)
Set ffilelist = FSO.getfile(ppath)
Set msgfiles = ffilelist.OpenAsTextStream(1)
Set msgfolders = folderlist.OpenAsTextStream(1)
msgfilestext = msgfiles.ReadAll()
msgfolderstext = msgfolders.ReadAll()
result = MsgBox("Будем копировать?" & vbCrLf & "файлы:" & vbCrLf & msgfilestext & vbCrLf & "в папки:" & vbCrLf & msgfolderstext,36,"Внимание!")
msgfolders.Close
msgfiles.Close
If result = 6 then
Set TextStream = folderlist.OpenAsTextStream(1)
StrFolder = vbNullString
While Not TextStream.AtEndOfStream
StrFolder = TextStream.ReadLine()
Set TextStreamFL = ffilelist.OpenAsTextStream(1)
StrFiles = vbNullString
While Not TextStreamFL.AtEndOfStream
StrFiles = TextStreamFL.ReadLine()
Set copyfilename = FSO.getfile(strfiles)
copyfilename.Copy strfolder
Wend
TextStreamFL.Close
Wend
TextStream.Close
MsgBox "Скопировано",48,"Внимание!"
End If
FSO.deletefile ppath, 0
else
Set ffile = FSO.GetFile(aargument)
ppath = ttemp & "\filelisttemp.txt"
ffile.Copy ppath
MsgBox "Список файлов для копирования создан!"
End If
End If
|
|
|