Batya

|
Posted: Tue Sep 07, 2010 09:52 Post subject: |
|
|
Andrey_A
vbs-скрипт:
Code: | '======================================================================
' Копирование выделенных файлов\папок по заданному количеству
' в отдельные (создаваемые) папки
' Параметры:
' {файл-список} {целевая папка} {количество}
' Пример параметров вызова из TC:
' %L "%T" 50
'======================================================================
Option Explicit
'================= Изменяемые параметры ===============================
Const Rank = 3 'Минимальное количество цифр в создаваемых папках
'======================================================================
Dim FSO, FileList, List, F, Folder, Count, i, n, Path
Set FSO = CreateObject("Scripting.FileSystemObject")
FileList = WScript.Arguments(0)
Folder = WScript.Arguments(1)
Count = CInt(WScript.Arguments(2))
List = Split(FSO.OpenTextFile(FileList).ReadAll, vbNewLine)
If Right(Folder, 1) <> "\" Then Folder = Folder & "\"
n = 1
i = Count
For Each F In List
If F <> "" Then
If i >= Count Then
If Len(CStr(n)) < Rank Then
Path = Folder & Right(String(Rank, "0") & CStr(n), Rank) & "\"
Else
Path = Folder & CStr(n) & "\"
End If
If Not FSO.FolderExists(Path) Then FSO.CreateFolder(Path)
i = 1
n = n + 1
Else
i = i + 1
End If
If FSO.FileExists(F) Then FSO.CopyFile F, Path
If FSO.FolderExists(F) Then
If Right(F, 1) = "\" Then F = Left(F, Len(F) - 1)
FSO.CopyFolder F, Path
End If
End If
Next
Set FSO = Nothing
Wscript.Quit 0
|
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|