Click to See Complete Forum and Search --> : Please Help!! Desperate!! Filesystemobject Hidden Files Folders


theflyingminst
02-23-2008, 09:21 AM
I got this code that uses Filesystemobject; it allows deletion of files within specified folders. The only problem is it shows hidden files and folders (_vti_cnf folders and .fp_folder_info files).

I have been at this for 2 weeks solid now and I can't figure out how to either hide them or make a safe list of extensions.

Your help would be MASSIVELY APPRECIATED!

Thanks.

Code:


<%@ Language=VBScript %>

<%Response.Expires = -1 %>
<%Response.ExpiresAbsolute = Now() - 1 %>
<%Response.AddHeader "pragma", "no-cache" %>
<%Response.AddHeader "cache-control", "private" %>
<%Response.CacheControl = "no-cache" %>

<%
Response.Expires = -1000
Response.Buffer = True
Response.Clear
%>

<%


Sub DeleteFile(path)
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(path) Then
'Delete File
fs.DeleteFile path
End IF
End Sub

Function getDeleteLink(path)
Dim currentPage
currentPage = Request.ServerVariables("SCRIPT_NAME")
'Generate delete link
getDeleteLink = currentPage & "?Action=delete&file=" & Server.Urlencode(path)
End Function

Sub DeleteCheck
'Check delete parameters
If LCase(Request.QueryString("Action")) = "delete" Then
If LCase(Request.QueryString("file")) <> "" Then
'Execute delete
DeleteFile Request.QueryString("file")
End If
End If
End Sub
%>

<%
Sub ListFolder(path)
Dim fs, folder, file, item

Set fs = CreateObject("Scripting.FileSystemObject")
Set folder = fs.GetFolder(path)

'Display the target folder.
Response.Write("<li>" & folder.Name)
Response.Write("<ul>" & vbCrLf)

If (folder.Files.Count > 0)OR(folder.SubFolders.Count >0) Then

'Display a list of sub folders.
for each item in folder.SubFolders
ListFolder(item.Path)
next


'Display a list of files.
For each item in folder.Files
Response.Write("<li>" & item.Name & " <a href=""" & getDeleteLink(item.Path) &"""> Delete </a>" &"</li>" & vbCrLf)
Next
End If

Response.Write("</ul>" & vbCrLf)
Response.Write("</li>" & vbCrLf)
End Sub

%>

<html>

<body>

<% DeleteCheck %>

<script language="JavaScript" type="text/javascript">
<!--
dmxListToTree({
bullets : 'plusminus',
icons : true,
struct : false,
objId : 'FolderView'
});
//-->
</script>
<ul class="dmxtree" id="FolderView">
<% ListFolder(Server.MapPath("Album")) %>
<% ListFolder(Server.MapPath("Extras")) %>
<% ListFolder(Server.MapPath("Tabs")) %>
</ul>

</body>

</html>

yamaharuss
02-26-2008, 07:05 AM
Rather than getting the relative folder path you should define your folder

i.e. C:\inetpub\wwwroot\mysite\thisfolder

theflyingminst
02-26-2008, 08:34 AM
Cool idea! Thanks so much for responding.