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: Mon Feb 04, 2008 13:25    Post subject: Reply with quote

vbs-скрипт (если непонятно, что это, читай форум):
Code:
'=====================================================================
' Перемещение выделенных файлов в соответствующие им папки на
'   противоположной панели TC
' Папка соответствует файлу, если ее имя является началом имени файла

' Параметры вызова из TC:
' %L "%T"
'=====================================================================

Option Explicit
Dim Title, Mess, FSO, ListF, List, Target, Fold, File, Name
' Проверяем параметры
Title = "Внимание!"

If WScript.Arguments.Count < 2 Then
  Mess = "Неправильно указаны параметры!"
  MessQuit
End If

Set FSO = CreateObject("Scripting.FileSystemObject")
ListF   = WScript.Arguments(0)
Target  = WScript.Arguments(1)

If Not FSO.FileExists(ListF) Then
  Mess = "Неправильно указан файл-список обрабатываемых файлов!"
  MessQuit
End If

If Not FSO.FolderExists(Target) Then
  Mess = "Неправильно указана целевая папка!"
  MessQuit
End If

List = Split(FSO.OpenTextFile(ListF).ReadAll, vbNewLine)
For Each Fold In FSO.GetFolder(Target).SubFolders
  Name = Fold.Name
  For Each File In List
    If FSO.FileExists(File) Then 'Проверяем, не перемещен ли он уже
      If LCase(Name) = LCase(Left(FSO.GetBaseName(File), Len(Name))) Then
        FSO.CopyFile   File, Fold & "\", True
        FSO.DeleteFile File
      End If
    End If
  Next
Next

Quit

Sub MessQuit
  MsgBox Mess, vbOKOnly + vbError, Title
  Quit
End Sub

Sub Quit
  Set FSO = Nothing
  Wscript.Quit
End Sub


sergeylost wrote:
Много - это наверное привычка, до мельчайших подробностей расжевывать ...

"Расжевать" - это хорошо. А вот топить свою мысль в словесном мусоре - это очень плохо. Я не знаю, как другие, а я жутко не люблю читать длинные пространные посты. Тем более раздражает, когда понимаешь, что все это можно было выразить одним-двумя предложениями.
Вообщем - "Краткость - сестра таланта." (c)
А еще лучше - "Время - деньги." (c)
Постарайся, чтобы твой собеседник не тратил лишнего времени, которого и так мало.


sergeylost wrote:
В реале то я не могу расчитаться.

Халява, сэр. (с)
_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Tue Feb 05, 2008 13:52; edited 1 time in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group