Показать полную графическую версию : [решено] Копирование некоторых свойств папок в txt
В общем если это возможно, то задача такая, есть много папок, в каждой из них файлы. И нужен батник который бы собирал в текстовый файл, с каждой папки свойства, типа: название папки, её размер и количество файлов.
Должно всё это выглядеть примерно так:
papka_037
20,3 Mb
120 PIC
papka_038
245 Mb
180 PIC
...
В данный момент такую задачу решаю макросом, но батником думаю было бы в разы быстрее так как скорость выполнения макросом напрямую зависит от скорости открытия окон.
Заранее спасибо за помощь.
есть много папок »
Где есть?
Где есть? »
Локально на обыкновенном ПК, например так D:\RF\PROJECT\TPH
Адрес может меняться.
Liberti, как считается размер папки и количество файлов: только в текущей или со вложенными?
как считается размер папки и количество файлов: только в текущей или со вложенными? »
Вложенных папок нет, есть только одна основная где лежат папки с которых и нужно переписать свойства, все папки содержат только файлы, jpg
Вложенных папок нет, есть только одна основная где лежат папки »
Вы уж определитесь, есть вложенные или нет.
А это что по вашему? D:\RF\PROJECT\TPH
Поиск по форуму уже не работает?
[решено] получить размер каталога с подкаталогами (http://forum.oszone.net/thread-158404.html)
Liberti, на WSH:
Option Explicit
Dim strRootFolder
Dim objRootFolder
Dim objFolder
If WScript.Arguments.Count = 1 Then
strRootFolder = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strRootFolder) Then
Set objRootFolder = .GetFolder(strRootFolder)
With .CreateTextFile(.BuildPath(strRootFolder, "FolderList.txt"), True, True)
For Each objFolder In objRootFolder.SubFolders
.WriteLine objFolder.Name
.WriteLine objFolder.Size
.WriteLine objFolder.Files.Count
.WriteLine
Next
.Close
End With
Set objRootFolder = Nothing
Else
WScript.Echo "Can't find folder [" & strRootFolder & "]."
End If
End With
Else
WScript.Echo "Usage: wscript.exe " & WScript.ScriptName & " <folder>"
End If
WScript.Quit 0
Сохраните код в файл с расширением .vbs, затем просто перетащите на сохранённый файл искомую папку (например, ту же «D:\RF\PROJECT\TPH»). Результирующий файл будет создан в искомой папке под именем «FolderList.txt».
Вы уж определитесь, есть вложенные или нет.
А это что по вашему? D:\RF\PROJECT\TPH
Поиск по форуму уже не работает? »
Папки с которых нужно списать свойства, вложенных не имеют, а адрес где они лежат это адрес. Я конечно далёк от всего этого но думаю есть два варианта работы батника/скрипта, либо изменять в нём адрес нахождения этих папок, либо закинуть этот батник/скрипт в саму папку с папками которыми нужно произвести нужные операции.
А на счёт поиска, я пробивал по свойствам, ничего не нашёл. А ссылка которую вы мне дали мне не подходит, так как там только один нужный мне пункт.
Сохраните код в файл с расширением .vbs, затем просто перетащите на сохранённый файл искомую папку (например, ту же «D:\RF\PROJECT\TPH»). Результирующий файл будет создан в искомой папке под именем «FolderList.txt». »
Вот! Отлично! То что надо, только есть небольшой нюанс, размер папки выдаётся в байтах, сможете сделать что бы выдавало в мегабайтах? Как во вкладке общее в свойствах.
И если возможно, после количества картинок дописывалась бы фраза "PIC"
В общем сейчас так:
papka 0067
51464063
166
А нужно так:
papka 0067
49,0 Mb
166 PIC
размер папки выдаётся в байтах, сможете сделать что бы выдавало в мегабайтах? »
.WriteLine FormatNumber(objFolder.Size / 2^20, 1) & " Mb"
И если возможно, после количества картинок дописывалась бы фраза "PIC" »
Не вижу смысла, но:
.WriteLine objFolder.Files.Count & " PIC"
Всё работает как надо. Огромное спасибо за помощь!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.