<%
'asp中一些fso方面的函數(shù)
'//==================================文件操作==================================
'取文件大小
function getfilesize(filename)
'//功能:取文件大小
'//形參:文件名
'//返回值:成功為文件大小,失敗為-1
'//
dim f
if reportfilestatus(filename) = 1 then
set f = fso.getfile(filename)
getfilesize = f.size
else
getfilesize = -1
end if
end function
'文件刪除
function deleteafile(filespec)
'//功能:文件刪除
'//形參:文件名
'//返回值:成功為1,失敗為-1
'//
if reportfilestatus(filespec) = 1 then
fso.deletefile(filespec)
deleteafile = 1
else
deleteafile = -1
end if
end function
'顯示文件列表
function showfilelist(folderspec)
'//功能:目錄存在時(shí)顯示此目錄下的所有文件
'//形參:目錄名
'//返回值:成功為文件列表,失敗為-1
'//
dim f, f1, fc, s
if reportfolderstatus(folderspec) = 1 then
set f = fso.getfolder(folderspec)
set fc = f.files
for each f1 in fc
s = s & f1.name
s = s & "|"
next
showfilelist = s
else
showfilelist = -1
end if
end function
'!!!
'文件復(fù)制
function copyafile(sourcefile,destinationfile)
'//功能:源文件存在時(shí),才能對(duì)文件進(jìn)行復(fù)制,目的文件無影響
'//形參:源文件,目的文件
'//返回值:成功為1,失敗為-1
'//
dim myfile
if reportfilestatus(sourcefile) = 1 then
set myfile = fso.getfile(sourcefile)
myfile.copy (destinationfile)
copyafile = 1
else
copyafile = -1
end if
end function
'文件移動(dòng)
'response.write moveafile("f:\123\4561.exe","f:\123\4562.txt")
function moveafile(sourcefile,destinationfile)
'//功能:源文件存在時(shí)目的文件不存在時(shí)才能對(duì)文件進(jìn)行移動(dòng)
'//形參:源文件,目的文件
'//返回值:成功為1,失敗為-1
'//
if reportfilestatus(sourcefile)=1 and
reportfilestatus(destinationfileorpath) =
-1 then
fso.movefile sourcefile,destinationfileorpath
moveafile = 1
else
moveafile = -1
end if
end function
'文件是否存在?
'response.write reportfilestatus("g:\soft\delphi\my_pro\代碼庫.exe")
function reportfilestatus(filename)
'//功能:判斷文件是否存在
'//形參:文件名
'//返回值:成功為1,失敗為-1
'//
dim msg
msg = -1
if (fso.fileexists(filename)) then
msg = 1
else
msg = -1
end if
reportfilestatus = msg
end function
'文件創(chuàng)建日期
'response.write showdatecreated("g:\soft\delphi\my_pro\代碼庫.exe")
'response.write showdatecreated("g:\soft\delphi\my_pro\復(fù)件
代碼庫.exe")
function showdatecreated(filespec)
'//功能:文件創(chuàng)建日期
'//形參:文件名
'//返回值:成功:文件創(chuàng)建日期,失?。?1
'//
dim f
if reportfilestatus(filespec) = 1 then
set f = fso.getfile(filespec)
showdatecreated = f.datecreated
else
showdatecreated = -1
end if
end function
'文件屬性
'response.write getattributes("g:\soft\delphi\my_pro\復(fù)件
代碼庫.exe")
function getattributes(filename)
'//功能:顯示文件屬性
'//形參:文件名
'//返回值:成功:文件屬性,失?。?1
'//
dim f,str
if reportfilestatus(filename) = 1 then
set f = fso.getfile(filename)
select case f.attributes
case 0 str="普通文件。沒有設(shè)置任何屬性。 "
case 1 str="只讀文件。可讀寫。 "
case 2 str="隱藏文件。可讀寫。 "
case 4 str="系統(tǒng)文件??勺x寫。 "
case 16 str="文件夾或目錄。只讀。 "
case 32 str="上次備份后已更改的文件。可讀寫。 "
case 1024 str="鏈接或快捷方式。只讀。 "
case 2048 str=" 壓縮文件。只讀。"
end select
getattributes = str
else
getattributes = -1
end if
end function
'最后一次訪問/最后一次修改時(shí)間
'response.write showfileaccessinfo("g:\soft\delphi\my_pro\復(fù)件
代碼庫.exe")
function showfileaccessinfo(filename,infotype)
'//功能:顯示文件創(chuàng)建時(shí)信息
'//形參:文件名,信息類別
'// 1 -----創(chuàng)建時(shí)間
'// 2 -----上次訪問時(shí)間
'// 3 -----上次修改時(shí)間
'// 4 -----文件路徑
'// 5 -----文件名稱
'// 6 -----文件類型
'// 7 -----文件大小
'// 8 -----父目錄
'// 9 -----根目錄
'//返回值:成功為文件創(chuàng)建時(shí)信息,失敗:-1
'//
dim f, s
if reportfilestatus(filename) = 1 then
set f = fso.getfile(filename)
select case infotype
case 1 s = f.datecreated '// 1 -----
創(chuàng)建時(shí)間
case 2 s = f.datelastaccessed '// 2 -----上次訪問
時(shí)間
case 3 s = f.datelastmodified '// 3 -----上次修改
時(shí)間
case 4 s = f.path '// 4
-----文件路徑
case 5 s = f.name '// 5
-----文件名稱
case 6 s = f.type '// 6
-----文件類型
case 7 s = f.size '// 7
-----文件大小
case 8 s = f.parentfolder '// 8 -----
父目錄
case 9 s = f.rootfolder '// 8 -----
根目錄
end select
showfileaccessinfo = s
else
showfileaccessinfo = -1
end if
end function
'寫文本文件
function writetxtfile(filename,textstr,writeorappendtype)
const forreading = 1, forwriting = 2 , forappending = 8
dim f, m
select case writeorappendtype
case 1: '文件進(jìn)行寫操作
set f = fso.opentextfile(filename, forwriting, true)
f.write textstr
f.close
if reportfilestatus(filename) = 1 then
writetxtfile = 1
else
writetxtfile = -1
end if
case 2: '文件末尾進(jìn)行寫操作
if reportfilestatus(filename) = 1 then
set f = fso.opentextfile(filename, forappending)
f.write textstr
f.close
writetxtfile = 1
else
writetxtfile = -1
end if
end select
end function
'讀文本文件
function readtxtfile(filename)
const forreading = 1, forwriting = 2
dim f, m
if reportfilestatus(filename) = 1 then
set f = fso.opentextfile(filename, forreading)
m = f.readline
'm = f.readall
'f.skipline
readtxtfile = m
f.close
else
readtxtfile = -1
end if
end function
'建立文本文件
'//==================================目錄操作==================================
'取目錄大小
function getfoldersize(foldername)
'//功能:取目錄大小
'//形參:目錄名
'//返回值:成功為目錄大小,失敗為-1
'//
dim f
if reportfolderstatus(foldername) = 1 then
set f = fso.getfolder(foldername)
getfoldersize = f.size
else
getfoldersize = -1
end if
end function
'創(chuàng)建的文件夾
function createfolderdemo(foldername)
'//功能:創(chuàng)建的文件夾
'//形參:目錄名
'//返回值:成功為1,失敗為-1
'//
dim f
if reportfolderstatus(foldername) = 1 then
createfolderdemo = -1
else
set f = fso.createfolder(foldername)
createfolderdemo = 1
end if
end function
'!!!
'目錄刪除
function deleteafolder(folderspec)
'//功能:目錄刪除
'//形參:目錄名
'//返回值:成功為1,失敗為-1
'//
response.write folderspec
if reportfolderstatus(folderspec) = 1 then
fso.deletefolder (folderspec)
deleteafolder = 1
else
deleteafolder = -1
end if
end function
'顯示目錄列表
function showfolderlist(folderspec)
'//功能:目錄存在時(shí)顯示此目錄下的所有子目錄
'//形參:目錄名
'//返回值:成功為子目錄列表,失敗為-1
'//
dim f, f1, fc, s
if reportfolderstatus(folderspec) = 1 then
set f = fso.getfolder(folderspec)
set fc = f.subfolders
for each f1 in fc
s = s & f1.name
s = s & "|"
next
showfolderlist = s
else
showfolderlist = -1
end if
end function
'!!!!
'目錄復(fù)制
function copyafolder(sourcefolder,destinationfolder)
'//功能:源目錄存在時(shí),才能對(duì)目錄進(jìn)行復(fù)制,目的目錄無影響
'//形參:源目錄,目的目錄
'//返回值:成功為1,失敗為-1
'//
'dim myfolder
'if reportfolderstatus(sourcefolder) = 1 and reportfolderstatus
(destinationfolder) = -1 then
'set myfolder = fso.getfolder(sourcefolder)
fso.copyfolder sourcefolder,destinationfolder
copyafolder = 1
'else
copyafolder = -1
'end if
end function
'目錄進(jìn)行移動(dòng)
function moveafolder(sourcepath,destinationpath)
'//功能:源目錄存在時(shí)目的目錄不存在時(shí)才能對(duì)目錄進(jìn)行移動(dòng)
'//形參:源目錄,目的目錄
'//返回值:成功為1,失敗為-1
'//
if reportfolderstatus(sourcepath)=1 and
reportfolderstatus(destinationpath)=0
then
fso.movefolder sourcepath, destinationpath
moveafolder = 1
else
moveafolder = -1
end if
end function
'判斷目錄是否存在
'response.write reportfolderstatus("g:\soft\delphi\my_pro\")
function reportfolderstatus(fldr)
'//功能:判斷目錄是否存在
'//形參:目錄
'//返回值:成功為1,失敗為-1
'//
dim msg
msg = -1
if (fso.folderexists(fldr)) then
msg = 1
else
msg = -1
end if
reportfolderstatus = msg
end function
'目錄創(chuàng)建時(shí)信息
function showfolderaccessinfo(foldername,infotype)
'//功能:顯示目錄創(chuàng)建時(shí)信息
'//形參:目錄名,信息類別
'// 1 -----創(chuàng)建時(shí)間
'// 2 -----上次訪問時(shí)間
'// 3 -----上次修改時(shí)間
'// 4 -----目錄路徑
'// 5 -----目錄名稱
'// 6 -----目錄類型
'// 7 -----目錄大小
'// 8 -----父目錄
'// 9 -----根目錄
'//返回值:成功為目錄創(chuàng)建時(shí)信息,失?。?1
'//
dim f, s
if reportfolderstatus(foldername) = 1 then
set f = fso.getfolder(foldername)
select case infotype
case 1 s = f.datecreated '// 1 -----
創(chuàng)建時(shí)間
case 2 s = f.datelastaccessed '// 2 -----上次訪問
時(shí)間
case 3 s = f.datelastmodified '// 3 -----上次修改
時(shí)間
case 4 s = f.path '// 4
-----文件路徑
case 5 s = f.name '// 5
-----文件名稱
case 6 s = f.type '// 6
-----文件類型
case 7 s = f.size '// 7
-----文件大小
case 8 s = f.parentfolder '// 8 -----
父目錄
case 9 s = f.rootfolder '// 9 -----
根目錄
end select
showfolderaccessinfo = s
else
showfolderaccessinfo = -1
end if
end function
function displayleveldepth(pathspec)
dim f, n ,path
set f = fso.getfolder(pathspec)
if f.isrootfolder then
displayleveldepth ="指定的文件夾是根文件夾。"&rootfolder
else
do until f.isrootfolder
path = path & f.name &"
"
set f = f.parentfolder
n = n + 1
loop
displayleveldepth ="指定的文件夾是嵌套級(jí)為 " & n & "
的文件夾。<br>"&
path
end if
end function
'//==================================磁盤操作==================================
'驅(qū)動(dòng)器是否存在?
'response.write reportdrivestatus("c:\")
function reportdrivestatus(drv)
'//功能:判斷磁盤是否存在
'//形參:磁盤
'//返回值:成功為1,失敗為-1
'//
dim msg
msg = -1
if fso.driveexists(drv) then
msg = 1
else
msg = -1
end if
reportdrivestatus = msg
end function
'--------可用的返回類型包括 fat、ntfs 和 cdfs。
'response.write showfilesystemtype("c:\")
function showfilesystemtype(drvspec)
'//功能:磁盤類型
'//形參:磁盤名
'//返回值:成功為類型:fat、ntfs 和 cdfs,失敗:-1
'//
dim d
if reportdrivestatus(drvspec) = 1 then
set d = fso. getdrive(drvspec)
showfilesystemtype = d.filesystem
else
showfilesystemtype = -1
end if
end function
%>
該文章在 2010/7/22 21:58:40 編輯過