Копирование "пустой" структуры каталогов с файлами
Q: Бывает нужно скопировать каталог вместе с вложенными в него каталогами и файлами, но так, чтобы вместо файлов копировались "пустышки", с соответствующими им именами.
A: Тебе поможет следующий скрипт:
'=====================================================================
' Создание структуры каталогов и файлов нулевого размера в них
' В параметрах вызова из TC должно быть прописано:
' %WL "%T"
'=====================================================================
Option Explicit
Dim FSO, WSH, OTF, Target, NewTar
Dim Selected
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1, False, -2)
Target = WScript.Arguments(1)
Do While Not OTF.AtEndOfStream
Selected = OTF.ReadLine
If FSO.FileExists(Selected) Then
FSO.CreateTextFile(Target & FSO.GetFile(Selected).Name)
End If
If FSO.FolderExists(Selected) Then
NewTar = Target & FSO.GetFolder(Selected).Name
If Not FSO.FolderExists(NewTar) Then
FSO.CreateFolder(NewTar)
End If
FolderProcess FSO.GetFolder(Selected), NewTar & "\"
End If
Loop
'MsgBox("Выполнено!")
Set OTF = Nothing
Set FSO = Nothing
Set WSH = Nothing
WScript.Quit()
Function FolderProcess(Fold, Tar)
Dim sf, f, NewF
For Each sf in Fold.SubFolders
NewF = Tar & sf.Name
If Not FSO.FolderExists(NewF) Then
FSO.CreateFolder(NewF)
End If
FolderProcess sf, NewF & "\"
Next
For Each f in Fold.Files
FSO.CreateTextFile(Tar & FSO.GetFile(f).Name)
Next
End Function
Сохрани код в файл с расширением vbs. Повесь файл на кнопку. В параметрах кнопки укажи: %WL "%T".
Соответственно, выделяешь файлы и папки и нажимаешь кнопку. На противоположной панели будет создана структура каталогов с файлами нулевого размера. А затем ты можешь с ними делать что угодно. Например, запаковать в любой архив.