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: Thu Nov 26, 2009 12:03    Post subject: Reply with quote

moroz90
Вообщем, примерно так:
Code:
'==========================================================================
' Перемещение выделенных файлов с соответствующими им (для *.html) папками
'
' Параметры вызова из TC:
' %L "%T"
'==========================================================================

Dim FSO, Fld, WSH, Rln, FileList, TargetDir
If WScript.Arguments.Count > 0 Then
  Set FSO   = CreateObject("Scripting.FileSystemObject")
  Set WSH   = CreateObject("WScript.Shell")
  FileList  = GetPath(WScript.Arguments(0))
  TargetDir = GetPath(WScript.Arguments(1)) & "\"
Else
  MsgBox "Смотри, куда курсор ставишь!", vbExclamation, "Окосел?" '(c) Tol!k :)
  Quit
End If

For Each Rln In Split(FSO.OpenTextFile(FileList).ReadAll, vbNewLine)
  If Rln <> "" Then
    Rln = GetPath(Rln)
    If FSO.FileExists(Rln) Then
      FSO.MoveFile Rln, TargetDir
      Fld = FSO.GetBaseName(Rln) & "_files"
      If FSO.FolderExists(Fld) Then
        MoveFolder Fld, TargetDir
      End If
    ElseIf FSO.FolderExists(Rln) Then
      MoveFolder Rln, TargetDir
    End If
  End If
Next

Quit

Function GetPath(pPath)
  GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
End Function

Function MoveFolder(pSourcePath, pTargetPath)
  FSO.CopyFolder pSourcePath, pTargetPath
  FSO.DeleteFolder pSourcePath
End Function

Sub Quit
  Set WSH  = Nothing
  Set FSO  = Nothing
  WScript.Quit
End Sub

Папки тоже перемещает.

Tol!k wrote:
Проще всего поменять параметры местами, тогда отсутствие второго параметра будет означать, что курсор стоял на ".."

Не так. Гислер сделал т.о., что если в параметрах %L, а курсор на "..", то параметры вообще затираются все. Попробуй указать "?" в строке параметров и проверить этот случай.
А еще прикол - если выделить ".." и поставить курсор на невыделенный файл\папку, то в %L попадет этот файл\папка.
_________________
Нет, я не сплю. Я просто медленно моргаю.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group