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

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

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

Widok (24-11-2008 12:57): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DiskDir.vbs
Код:
' DiskDir
' Version: 1.0
' Autor: mozers™
' ------------------------------------------------
' Создает файловые списки в формате DKT (аналогично плагину DiskDir в Total Commander)
' Пример запуска:
' cscript DiskDir.vbs "C:\Programm Files" - создает Programm Files.dkt
' cscript DiskDir.vbs @C:\TEMP\filders.txt MyFavoriteFolders - создает MyFavoriteFolders.dkt, включающий все каталоги, перечисленные в списке filders.txt
 
' ------------------------------------------------
Option Explicit
Dim WshShell, FSO, SciTE
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set SciTE = CreateObject("SciTE.Helper")Dim FSO, WSH
Dim MainFolder
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
 
Set objArgs = WScript.Arguments
If objArgs.Count <> 2 Then
  WScript.Echo "DiskDir"
  WScript.Echo "> cscript DiskDir.vbs FolderName|@ListFolderName DiskDirFileName"
  WScript.Quit
End If
 
out_filename = objArgs(1)
Set out_file = fso.OpenTextFile(out_filename, ForWriting, True)
 
arg = objArgs(0)
If Left(arg,1)="@" Then  
  arg = Right(arg,Len(arg)-1)
  If Not FSO.FileExists(arg) Then
    WScript.Echo "Folderlist """ & arg & """ Not Exists!"
    WScript.Quit
  End If
  WScript.Echo "> Processing..."
  Set list_file = fso.OpenTextFile(arg, ForReading)
  Do While Not list_file.AtEndOfStream
    MainFolder_path = list_file.ReadLine
    DirMainFolder(MainFolder_path)
  Loop
  list_file.Close
Else
  WScript.Echo "> Processing..."
  DirMainFolder(arg)
End If
out_file.Close
WScript.Echo "File """ & out_filename & """ create!"
WScript.Quit
 
Sub DirMainFolder(FolderName)
  If FSO.FolderExists(FolderName) Then
    WScript.Echo FolderName
    Set MainFolder = FSO.GetFolder(FolderName)
    out_file.WriteLine FolderName & vbTab & "0" & vbTab & GetDateTime(MainFolder)
    DirWithSubFolders MainFolder
  End If
End Sub
 
Sub DirWithSubFolders(ByVal AFolder)
  Dim MoreFolders, OneFolder
  EnumerateFiles AFolder
  Set MoreFolders = AFolder.SubFolders
  For Each OneFolder In MoreFolders
    folder_path = OneFolder.Path
    out_file.WriteLine Right(folder_path, Len(folder_path) - i) & "\" & vbTab & "0" & vbTab & GetDateTime(OneFolder)
    DirWithSubFolders OneFolder
  Next
End Sub
 
Sub EnumerateFiles(AFolder)
  Dim AFile, TheFiles
'  On Error Resume Next
  Set TheFiles = AFolder.Files
  For Each AFile In TheFiles
    out_file.WriteLine AFile.Path & vbTab & AFile.Size & vbTab & GetDateTime(AFile)
  Next
End Sub
 
Function GetDateTime(obj)
  date_time = obj.DateLastModified
  Set regEx = New RegExp
  regEx.Pattern = "[0]?(\d+)[.][0]?(\d+)[.](\d{4})[ ]?[0]?(\d+)[:]?[0]?(\d+)[:]?(\d*)"
  date_time = regEx.Replace(date_time, "$3.$2.$1" & vbTab & "$4:$5.$6")
  regEx.Pattern = "[0]?(\d+)[.][0]?(\d+)[.](\d{4})"
  GetDateTime = regEx.Replace(date_time, "$3.$2.$1" & vbTab & "0:0.0")
End Function
 
Данный код внедрен в форум с помощью скрипта vladvro

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 10:53 21-09-2007
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (часть 4)
Widok (24-11-2008 12:57): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru