语法
ADIR(ArrayName [, cFileSkeleton [, cAttribute ]])
参数
ArrayName
指定数组名。如果数组不存在,Visual FoxPro 将自动创建此数组。如果数组存在,但其大小不足以包含所有信息,则 Visual FoxPro 自动增加数组大小,使得数组能容纳所有信息。如果数组超过了所需大小,Visual FoxPro 将截掉多余部分。如果数组存在,并且 ADIR( )
函数由于没找到匹配文件而返回 0,则数组保持不变。如果数组不存在,并且 ADIR( ) 函数返回零,则不创建数组。
下表说明了数组中每列的内容及其数据类型:
列 数组内容 数值类型
1 文件名 字符型
2 文件大小 数值型
3 文件日期 日期型
4 文件时间 字符型
5 文衡困件属性 字符型
数组的皮瞎最后一列包含匹配文件的文件属性。每个文件属性值由一个字母表示,一个文件可有多个属性。下表说明每个字母表示的文件属性含义:
字母 属性
A 档案文件 一 可读写(在 FoxPro for Macintosh 中,此属性无效)
H 隐藏文件
R 只读文件
S 系统文件
D 目录或文件夹
cFileSkeleton
指定文件梗概,以便存储满足搜索条件的文件名或扩展名的文件信息。例如,条件可以是所有表、所有文本文件、所有文件名第一个字母为“A”的文件,等等。这些通配查询在 cFileSkeleton 中可以包含通配符 * 和 ?。其中问号代表单个字符,星号代表任意字符串。在文件梗概中,可在任意位置使用任意个数的通配符。
在 Visual FoxPro、FoxPro for Windows 和 FoxPro for MS-DOS 中,可以指定驱动器和目录名,程序将在此驱动器和目录下搜索匹配文件。如果不指定驱动器和目录名燃拦空,将把当前目录下的文件信息存入数组中。
在 FoxPro for Macintosh 中,可以搜索匹配文件名的卷和文件夹。如果不指定卷和文件夹,FoxPro for Macintosh 将当前文件夹中的文件信息存入数组中。
cAttribute
指定在返回内容中包含子目录或嵌套文件夹、隐藏或系统文件、或者卷名。
cAttribute 可以是 D、H 和 S 的任意组合。如果包含 D,除了返回匹配 cFileSkeleton 的文件名外,还将返回当前目录的子目录或当前文件夹的嵌套文件夹。如果包含 H,将返回与 cFileSkeleton 指定相匹配的隐藏文件信息。如果包含 S,将返回与 cFileSkeleton 指定通配文件名相匹配的系统文件信息。
如果 cFileSkeleton 为空字符串,仅返回子目录或嵌套文件夹名、隐藏或系统文件。
cAttribute 参数中包含字符 V,将返回当前驱动器的卷名。如果 V 和 D、H 或 S 一起包含在数组中,则只返回卷名。卷名存入数组的第一个元素中,并截去数组的其余部分。
返回值类型
数值型
说明
对于每一个文件,ADIR( ) 将文件名、大小、日期、时间和属性信息存入数组。
例子:
=adir(abc,"d:\123\*.jpg")
把d:\123文件夹下jpg照片文件的名字、大小、日期、时间和属性信息存入数组abc
刚写完代码问题关闭了, 没把我晕死.你看一看吧 不懂可以问我.
========================================================================
没有时间把整站代码都写给你
大概说下思路吧
1,遍历文件夹取文件对象值,添加迅御在数据库中(先建好表方便一些),然后 *** 作Drive对象,取数据库值取表格值或输入值都可以,假设要复制文件夹中所有文件的话就直接在遍历循环中建FSO对象,不过代码复杂一点.
祝你成功.
给你一些主要functions和思路,你会发现其实点破了就很简单:
1.
function bianli(path)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
on error resume next
Set objFolder=fso.GetFolder(server.MapPath(path))
Set objFiles=objFolder.Files
'循环输出文件夹path下的文件的文件名
For each objFile in objFiles '取相关值
Response.Write "Name: " &objFile.Name &" "
Response.Write "ShortName: " &objFile.ShortName &" "
Response.Write "Size: " &objFile.Size &" bytes "
Response.Write "Type: " &objFile.Type &"<BR>"
Response.Write "Path: " &objFile.Path &" "
Response.Write "ShortPath: " &objFile.ShortPath &"<BR>"
Response.Write "Created: " &objFile.DateCreated &" "
Response.Write "LastModified: " &objFile.DateLastModified &"<P>"
Next
Set objFolder=nothing
Set fso=nothing '释放对象
end function
下面的建表写表就不用我说了吧?
==========================================================================
2.文件复制 *** 作'之讲了复制,下面有详细关于File对象的讲解,希望触类旁通
Sub backupdata()
Filepath=request.form("Filepath")
Filepath=server.mappath(Filepath)
bkfolder=request.form("bkfolder")
bkfilename=request.form("bkfilename")
Set Fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(Filepath) then
If CheckDir(bkfolder) = True Then
fso.copyfile Filepath,bkfolder&"\"&bkfilename
else
MakeNewsDir bkfolder
fso.copyfile Filepath,bkfolder&"\"&bkfilename
end if
response.write " *** 作成功,您备份的数据路径为<br>" &bkfolder&"\"&bkfilename
Else
response.write "找不到您所需要备份的文件。"
End if
end sub
Driver对象的RootFolder属性返回一个Folder对象,通过该对象可访问这个驱动器内的所有的内容。可以使用这个Folder对象的属性和方法遍历驱动器上的目录,并得到该文件夹和其他文件夹的属性。
Copy(destination,overwrite)
将这个文件复制到destination指定的文件夹。如果destination的末尾是路径分隔符(‘\’),那么认为亩大岩destination是放置拷贝文件的文件夹。否则认为destination是要仿迹创建的新文件的路径和名字。如果目标文件已经存在且overwrite参数设置为False,将产生错误,缺省的overwrite参数是True
Delete(force)
删除这个文件。如果可选的force参数设置为True,即使文件具有只读属性也会被删除。缺省的force是False
Move(destination)
将文件移动到destination指定的文件夹。如果destination的末尾是路径分隔符(‘\’),那么认为destination是一文件夹。否则认为destination是一个新的文件的路径和名字。如果目标文件夹已经存在,则出错
CreateTextFile
(filename,overwrite,unicode)
用指定的文件名创建一个新的文本文件,并且返回一个相应的TextStream对象。如果可选的overwrite参数设置为True,将覆盖任何已有的同名文件。缺省的overwrite参数是False。如果可选的unicode参数设置为True,文件的内容将存储为unicode文本。缺省的unicode是False
OpenAsTextStream
(iomode,format)
打开指定文件并且返回一个TextStream对象,用于文件的读、写或追加。iomode参数指定了要求的访问类型,允许值是ForReading(1) (缺省值)、ForWrite(2)、ForAppending(8)。format参数说明了读、写文件的数据格式。允许值是TristateFalse(0)(缺省),说明用ASCII数据格式;TristateTrue(-1)说明用Unicode数据格式;TristateUseDefault(-2)说明使用系统缺省格式
不是为了多少分 主要能帮到你就可以
asp获取文件名和扩展名的函数代码<%
function
getfilename(text)
text
=
left(text,instrrev(fl,".")-1)
getfilename
=
text
end
function
function
getextn(text)
text
=
left(text,instr(text,".")-1)
getextn
=
text
end
function
%>
这样就可以了,获得就是
.扩展名
<%
lname="文本字段名字"
la=split(lname,"/")
num=ubound(la)
lb=split(la(num),".")
num2=ubound(lb)
response.write("."&lb(num2))
%>
这样获得的是整个文件名明咐
<%
a="c:/windows/windows/陆冲windows/tex.txt"
b=split(a,"激悉纯/")
a=ubound(b)
response.write(b(a))
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)