SumSizes

Название SumSizes
Имя файла (*.txt) SumSizes.txt
Описание Суммирует объемы файлов и директорий
Автор Вахмурка
Параметры ("%L")
Вызываемые плагины int64, miscplugin, file, clip
Иконка
Версия 1.1
Дата обновления 15.06.2006
static Sum, List
static CR = esc(?+\n+, ?+\+)
local Str, Size

if(not arg(1)) do
	Str = "Total size: " ++ Sum ++ " bytes = " ++ int64.divide(Sum, 1000)
	Str = Str ++ " kbytes = " ++ int64.divide(Sum, 1000000) ++ " Mbytes"
	messagebox("ok information", List, Str)
	clip.set(Sum)
	Sum = 0
	List = ""
	quit
endif

local fh = file.open(arg(1), "r")

if(fh > 0) do
	for(not(file.eof(fh))) 
		Str = file.readstring(fh)
		if(Str != 0) do
			sFileName = Str	
			if(file.isfolder(sFileName)) do
				Size = miscplugin.fileinfo("foldersize")
				List = List ++ "<DIR> "
			else
				Size = file.size(sFileName)
				List = List ++ repeat(" ", 11)
			endif

			List = List ++ sFileName ++ ", " ++ Size ++ " bytes" ++ CR
			Sum = ifelse(Sum, int64.Add(Sum, Size), Size)
		endif
	endfor
else
	messagebox("ok error", "File not opened", "FILE plugin error")
	quit
endif

file.close(fh)

Комментарии:

Скрипт будет полезен, например, при ответе на вопрос: "Влезут ли на один CDRW файлы и директории, разбросанные по всему винчестеру?".

Выделяем файл(ы) и/или директории, общий объем которых необходимо подсчитать, и запускаем скрипт с параметром "%L". Операцию можно проделывать неоднократно, скрипт подсчитает общий объем. Информация будет храниться в памяти до выхода из PowerPro или до окончания процесса сбора информации. Когда скрипт запущен без параметра (или с параметром ""), выдается окно со списком всего, что было помечено. Заголовок окна содержит общий объем, который, кроме того, помещается в буфер.


На главную Все о Total Commander PowerPro PowerPro & Total Commander