webForumDet fria alternativet

Få ut filstorlek med FSO?

ASP

10 svar · 400 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Hur gör man för att få ut storleken på filer i en mapp.
Eller rättare sagt, hur radar man upp filer i en mapp och beräkna storleken på varje fil och sedan total storlek?

T.ex

--- Filnamn --- --- Storlek ---
Fil1 1052b

Osv, osv....

Tacksam för lite vägledning!

Medlem sedan mars 20015 287 inlägg
#2

En liknande den här kör jag, ´kan ju ge dig en ide.

<%
Dirfolder = "mappnamn"

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Inetpub\wwwroot\" & Dirfolder)
set Files = Folder.Files

For each Item In Files

	response.write fileNamn(Item.Name) & "<br>"
	response.write Item.Name & "<br>"
	response.write fileExtension(Item.Name) & "<br>"
	response.write getFileSize(Item.Size) & "<br>"
	response.write Left(Item.DateCreated,10) & "<br>"
	response.write Left(Item.DateLastAccessed,10) & "<br>"
	response.write Left(Item.DateLastModified,10) & "<br>"
	response.write "<br>"

	totsize = totsize + Item.Size

Next

set Folder = nothing
set FSO = nothing
set Files = nothing

response.write "Total storlek: " & getFileSize(totsize) & "<br>"

'============================================================
'FUNKTIONER

function getFileSize(int)
If int > 1000 then
	getFileSize = round(int/1024,0) & " KB"
Else
	getFileSize = "1 KB"
End If
end function

Function fileExtension(filename)
arrArray = Split(filename,".")
fileExtension = arrArray(1) 
End Function

Function fileNamn(filename)
  fileNamn = lcase(left(filename,instr(filename,".") -1))
End Function
%>
Medlem sedan nov. 20018 492 inlägg
#3

Tack solbulle! :) :bire
Ska försöka vidareutveckla! :)

Medlem sedan mars 20015 287 inlägg
#4

Varsågod. :)

Medlem sedan apr. 2002272 inlägg
#5

Men om jag vill att man ska kunna klicka på filen.. hur gör jag det.. typ: http://localhost/sin_adec/filnamnet..

<%

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\mina dokument\mina webbplatser\Sin_adec")
set Files = Folder.Files

For each Item In Files

	response.write Item.Name & "<br>"

Next

set Folder = nothing
set FSO = nothing
set Files = nothing

 '===========================================================

'FUNKTIONER

function getFileSize(int)
If int > 1000 then
	getFileSize = round(int/1024,0) & " KB"
Else
	getFileSize = "1 KB"
End If
end function

Function fileExtension(filename)
arrArray = Split(filename,".")
fileExtension = arrArray(1) 
End Function

Function fileNamn(filename)
  fileNamn = lcase(left(filename,instr(filename,".") -1))
End Function
%>
Medlem sedan mars 20015 287 inlägg
#6
<%

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\mina dokument\mina webbplatser\Sin_adec")
set Files = Folder.Files

For each Item In Files

	'response.write Item.Name & "<br>"

response.write "<a href=""" & Item.Name & """>" & Item.Name & "</A>" & "<br>"

Next

set Folder = nothing
set FSO = nothing
set Files = nothing

  '===========================================================

'FUNKTIONER

function getFileSize(int)
If int > 1000 then
	getFileSize = round(int/1024,0) & " KB"
Else
	getFileSize = "1 KB"
End If
end function

Function fileExtension(filename)
arrArray = Split(filename,".")
fileExtension = arrArray(1) 
End Function

Function fileNamn(filename)
  fileNamn = lcase(left(filename,instr(filename,".") -1))
End Function
%>
Medlem sedan mars 20015 287 inlägg
#7

...fast det fungerar iofs bara om scriptet är i samma folder som filerna kom jag på.
Annars kan du lägga sökvägen till mapper i en variabel (som i orginalet) och använda dig av den i länken, alternativvt kanske mappath..

Medlem sedan apr. 2002272 inlägg
#8

Tack..

Medlem sedan apr. 2002272 inlägg
#9

Hej igen..
undrar bara hur jag ska göra om jag vill visa en innehållet i en medlemms mapp

<%
strUsername = Recset("anv")

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\mina dokument\mina webbplatser\)  '<---- här vill jag att det ska vara \\mina webbplatser\"användarnamnet"......
set Files = Folder.Files

For each Item In Files

	'response.write Item.Name & "<br>"

response.write "<a href=""" & Item.Name & """>" & Item.Name & "</A>" & "<br>"

Next

...
..

..
%>
Medlem sedan maj 20018 027 inlägg
#10

Pröva

Set Folder = FSO.GetFolder("C:\mina dokument\mina webbplatser\" & strUsername)
Medlem sedan apr. 2002272 inlägg
#11

Tack så mycket..

251 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)