sub bianli(path)
dim fso
dim objFolder
dim objSubFolder
dim objFile
set fso=server.CreateObject("scripting.filesystemobject")
on error resume next
set objFolder=fso.GetFolder(path)
for each objFile in objFolder.Files
Response.Write path &"\\" &objFile.name &"<br>---"
next
Response.Write "<p>"
for each objSubFolder in objFolder.Subfolders
nowpath=path &"\\" &objSubFolder.name
Response.Write nowpath &"<br>"
bianli nowpath
next
set objFolder=nothing
set fso=nothing
end sub
bianli "D:\shuaigua\56bohai"
%>
看明白没有?你要先显示当前文让衡羡件夹(注意当前)中的文件集合,再遍历文件夹中的子文坦拍件夹集合。而你的做法则是显示子文件夹(注意子字)中的文件拦盯集合,再去遍历子文件夹集合,这样的话一开始的那个文件夹(即D:\shuaigua\56bohai)的文件就无法显示了!
Javascript遍历文件夹下的文件?如果这都行的话,我就去遍历QQ的根目录,找到模孝数据库文件,然后下载……---当然,在客户端,JS还慧肆是有FSO应用的。但是仅能遍历客户端的文件。但是也有很多限制,而且是通过ActiveXObject("Scripting.FileSystemObject")来创建。这里有一个枚举客户C盘文件的例子:<html><head></前码轿head>
<body>
<input type="button" value="枚举C盘文件" onclick="init()">
<div id=t></div>
<script language="javascript">
function $(id){return document.getElementById(id)}
function init(){
var fso = new ActiveXObject("Scripting.FileSystemObject")
var folder = fso.GetFolder("C:\\")
var arr=[]
var fenum = new Enumerator(folder.Files)
for (var i = 0 !fenum.atEnd()fenum.moveNext(),i++){
arr.push(fenum.item().Name)
}
$('t').innerHTML=arr.join('<br>')
}
</script>
</body>
</html>
这个不是用sql来搞定的吧。
个人感觉应该用服务器端代码来实现。
DirectoryInfo dirInfo = new DirectoryInfo("路径")//参数一:文谨源件迹晌梁类型(如果所有文件就是*)
//参数二:是否查找目录下的子目录
FileSystemInfo [] files = 姿运dirInfo.GetFileSystemInfos("*.jpg", DirectoryInfo.GetFileSystemInfos)
DataGrid.DataSource = files
DataGrid1.DataBind()
//剩下的,你只要前台把文件的个个属性对应上就可以了。FileSystemInfo类有哪些属性,建议去msdn上面查一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)