Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (Часть 8)

Модерирует : gyra, Maz

articlebot (20-03-2016 21:01): Обсуждение продолжается в части 9  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Rodny



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
'==============================================================================
' Copy2SamePath.vbs
' Копирование выделенных файлов в папку, отличающуюся буквой диска
' Параметры вызова для кнопки: %WL {новый диск}
' (второй параметр можно опустить). Пример параметров:
' %WL F
'
' by Rodny
' v. 0.4
' http://forum.ru-board.com/topic.cgi?forum=5&topic=45288&start=1960#12
'==============================================================================
 
Option Explicit
Dim
WSH, FSO, ListFile, FileName, FilePath, Disk, NewFile, NewPath, Files, File, c
 
Set WSH = CreateObject("WScript.Shell")
Set
FSO = CreateObject("Scripting.FileSystemObject")
 
ListFile = WScript.Arguments(0)
 
Disk = ""
Do
    If
WScript.Arguments.Count = 1 Then
       
Disk = InputBox("Задайте диск назначения" & VBNewLine & "(без кавычек)", "Требуется указать диск")
   
Else
Disk = WScript.Arguments(1)
   
End If
 
    If
IsEmpty(
Disk) Then
       
WScript.Quit
    End If
Loop While
Disk = ""
 
c = 0
Files = Split(FSO.GetFile(ListFile).OpenAsTextStream(1,-1).ReadAll, vbNewLine)
For Each
File in Files
    If (Trim(File) > vbNullString) And (Right(File, 1) <> "\") Then
        Set
FileName = FSO.GetFile(File)
       
Set
FilePath = FSO.GetFile(File).ParentFolder
        ' Новый путь
       
NewFile = Disk & Right(File, Len(File) - 1) '& "\" & FileName
       
NewPath = Disk & Right(FilePath, Len(FilePath) - 1)
 
       
If Not
FSO.FolderExists(NewPath) Then
           
FoldersCreate(NewPath)
       
End If
       
FileName.Copy NewFile
        c = c + 1
   
End If
Next
 
' Если сообщение в конце не требуется - закомментировать следующую строчку (поставить первым символом ')
MsgBox "Скопировано файлов: " & c, vbOKOnly, "Готово" ' ОТЛАДКА
 
Function FoldersCreate(Folder)
   
Dim
PF
    Do
       
PF = FSO.GetParentFolderName(Folder)
       
If
FSO.FolderExists(PF) Then
            If Not
FSO.FolderExists(Folder) Then
               
FSO.CreateFolder(Folder)
           
End If
        Else
           
FoldersCreate PF & "\"
       
End If
    Loop While Not
FSO.FolderExists(Folder)
End Function
 
Set
WSH = Nothing
Set
FSO = Nothing
Set
FileName = Nothing
Set
FilePath = Nothing
Wscript.Quit()
 ?  Код создан и опубликован с помощью SciTE-Ru

Всего записей: 2877 | Зарегистр. 28-07-2006 | Отправлено: 03:18 28-12-2013 | Исправлено: Rodny, 03:19 28-12-2013
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (Часть 8)
articlebot (20-03-2016 21:01): Обсуждение продолжается в части 9


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru