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
Batya



PostPosted: Wed Oct 12, 2011 11:48    Post subject: Reply with quote

Сначала неверно понял задачу.

Сделал с перемещением с родительской папкой (глубина вложенности = 1):
Code:
'=====================================================================
' Создание папки по имени файла-списка и перемещение в нее файлов
' из файла-списка с родительской папкой.

' Параметры:
' {файл-список} {целевая папка}
'=====================================================================
Option Explicit
Dim FSO, FileList, TargetDir, F, FF

If WScript.Arguments.Count = 0 Then
  MsgBox "Не указаны параметры!", vbOKOnly + vbError, "Внимание!"
  Wscript.Quit
End If

FileList  = WScript.Arguments(0)
TargetDir = WScript.Arguments(1)
If Right(TargetDir, 1) <> "\" Then TargetDir = TargetDir & "\"
Set FSO   = CreateObject("Scripting.FileSystemObject")
TargetDir = TargetDir & FSO.GetBaseName(FileList) & "\"

With FSO.OpenTextFile(FileList, 1)
  Do While Not .AtEndOfStream
    F = Trim(.ReadLine)
    If F <> "" And FSO.FileExists(F) Then
      FF = TargetDir & FSO.GetFileName(FSO.GetParentFolderName(F)) & "\"
      CreateFolder FF
      FSO.MoveFile F, FF
    End If
  Loop
  .Close
End With

MsgBox "Выполнено!", vbOKOnly + vbInformation, "Результат"
Set FSO = Nothing
Wscript.Quit

Sub CreateFolder(pFolder)
  Dim lParentFolder
  If Not FSO.FolderExists(pFolder) Then
    lParentFolder = FSO.GetParentFolderName(pFolder)
    If Not FSO.FolderExists(lParentFolder) Then CreateFolder(lParentFolder)
    FSO.CreateFolder(pFolder)
  End If
End Sub

_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Wed Oct 12, 2011 13:43; edited 1 time in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group