[JFWRus] Re: Доработанный скрипт. Размер файла (папки).
Здравствуйте, Руслан.
Вы писали 4 июня 2009 г., 11:47:39:
РУ> Скрипт озвучивает размер файла (папки) в Проводнике Windows.
Вот уже несколько лет тому написал следующий вариант.
Object Function GetFolderView ()
; Служебная функция для получения текущего объекта в проводнике.
var Object sh,
object win,
object null,
string str,
int i,
int icount
let i = 0
let sh = CreateObject ("shell.application")
let Icount = sh.windows.count
While i < ICount
&& sh.windows(i).HWnd != GetForegroundWindow ()
let i = i +1
EndWhile
let win = sh.windows(i)
Return sh.windows(i).document
EndFunction
Script ReadItemSize ()
; назначаю на ctrl+1 озвучивает размер файла, папки и диска.
var
object Fso,
object fol,
object null,
string SName,
object fol1
let fso = CreateObject ("Scripting.FileSystemObject")
let fol = GetFolderView ()
if fol.SelectedItems.count == 1 then
let fol1 = fol.SelectedItems.item(0)
let sName = fol1.path
If fso.DriveExists(SName) then
let fol = fso.GetDrive(Sname)
SayString("Всего ")
SayString(fol.TotalSize)
ElIf fso.FolderExists(SName) then
let fol = fso.GetFolder(Sname)
SayString(fol.size)
ElIf fso.FileExists(SName) then
let fol = fso.GetFile(Sname)
SayString(fol.size)
EndIf; проверкакакой объект (файл, папка или диск)
EndIf; если один элемент
let FSO = null
Let Fol = null
Let fol1 = null
EndScript
Script ReadItemTime ()
; сообщает дату и время файла или папки, а для диска свободное
место назначаю на ctrl+2
var
object Fso,
object fol,
object null,
string SName,
string s1,
object fol1
let fso = CreateObject ("Scripting.FileSystemObject")
let fol = GetFolderView ()
if fol.SelectedItems.count == 1 then
let fol1 = fol.SelectedItems.item(0)
let sName = fol1.path
If fso.DriveExists(SName) then
let fol = fso.GetDrive(Sname)
SayString ("свободно: ")
sayString(fol.FreeSpace)
ElIf fso.FolderExists(SName) then
let fol = fso.GetFolder(Sname)
sayString (fol.DateLastModified)
ElIf fso.FileExists(SName) then
let fol = fso.GetFile(Sname)
sayString(fol.DateLastModified)
EndIf; проверкакакой объект (файл, папка или диск)
EndIf; если один элемент
let FSO = null
let fol = null
let fol1 = null
EndScript
Должен работать на любых джозах.
Писал давно, но поскольку использую в основном тотал командер,
то забросил. Но, работает адекватно.