asp关于FSO文件文件操作的方法和说明
1645
2013-12-19
<%
	'###################################################################################################################
	'##
	'##		作者:ROCK.Zhang
	'##		联系:qq-294859246
	'##		创建时间:2013-12-19
    '##		更多信息请关注:www.goorder.net
	'##
	'##											asp FSO 文件操作的方法和说明
	'##
	'##		isFileExist(path,fileName)     
	'##					例如: isFileExist("new/version2.1/","index.html")
	'##					表示: 当前路径/new/version2.1/  路径下面的文件  index.html  是否存在
	'##					返回值: true  和  false
	'##
	'##		isFolderExist(path,fileName)   
	'##					例如: isFolderExist("new/version2.1/","package")
	'##					表示: 当前路径/new/version2.1/package  文件夹是否存在
	'##					返回值: true  和  false
	'##
	'##		createFolder(path,folderName)  
	'##					例如:  createFolder("","new")
	'##					表示: 当前路径创建 new 文件夹
	'##					说明: 该方法的path只能为当前目录下的文件夹创建,若想多级目录情况,请使用方法 createFolderSeries(path) 
	'##					返回值: 无
	'##
	'##		createFolderSeries(path)		
	'##					例如: createFolderSeries("/a/b/c")
	'##					表示: fso会到根目录开始扫描 a 文件夹的存在,若不存在 则创建文件夹 a 依次扫描 a,b,c
	'##					说明:适用于多级文件夹的创建
	'##					返回值: 无
	'##
	'##		createTextFile(path,fileName,textContent)   
	'##					例如:createTextFile("a/b/c/","log.txt","hello world!")
	'##					表示: 在 : 当前路径/a/b/c 中 创建 log.txt 记事本 并打印 hello world
	'##					返回值: 无
	'##
	'##		copyFile(oldPath,oldFileName,newPath,newFileName)	
	'##					例如:copyFile("a/","a.txt","a/b/c/","b.txt")
	'##					表示:将 本地路径/a中的a.txt文件复制到 本地路径/a/b/c下并重命名为b.txt
	'##					返回值: true 和 false
	'##
	'##		copyFolder(oldPath,oldFolderName,newPath,newFolderName)	
	'##					例如:copyFolder("a/","a","a/b/c/","c")
	'##					表示:将 本地路径/a中的a文件夹 复制到 本地路径/a/b/c下并重命名为c ,复制包括目标文件夹下面的所有文件
	'##					返回值: true 和 false
	'##
	'##		moveFile(oldPath,oldFileName,newPath,newFileName)
	'##					例如:moveFile("a/","a.txt","a/b/c/","c.txt")
	'##					表示:将 本地路径/a中的a.txt文件 移动到 本地路径/a/b/c下并重命名为c.txt , 原路径下的文件已经转移不存在了
	'##					返回值: true 和 false
	'##
	'##		moveFolder(oldPath,oldFileName,newPath,newFileName)
	'##					例如:moveFolder("a/","a","a/b/c/","c")
	'##					表示:将 本地路径/a中的a文件夹 移动到 本地路径/a/b/c下并重命名为c , 原路径下的文件夹已经转移不存在了
	'##					返回值: true 和 false
	'##
	'##		deleteFile(path,fileName)
	'##					例如:deleteFile("a/","index.html")
	'##					表示:将 本地路径/a中的index.html 文件删除
	'##					返回值: true 和 false
	'##
	'##		deleteFolder(path,folderName)
	'##					例如:deleteFolder("/a/","new")
	'##					表示:将 根目录下的a文件夹中的new文件夹删除
	'##					返回值: true 和 false
	'##
	'###################################################################################################################
	'##
	'##	特别说明:以上除了 isFileExist 和 isFolderExist 返回值的true表示 找到和 false表示未找到
	'##			deleteFile 和 deleteFolder 返回值 的true 表示删除成功  和false 表示 目标文件不存在
	'##			其他方法返回的 true表示操作已成功 和 false 表示 文件/文件夹未找到,操作均为强制执行,若想判断文件/文件夹存在之后,
	'##			再做文件操作的话,请用 isFileExist 或 isFolderExist 判断之后 ,根据true或false情况再做文件覆盖和删除,代码只做参考,
	'##			误删或文件覆盖情况,导致找不到文件或文件丢失均与本人无关,另外:方法涉及文件操作,方法运行确保文件/文件夹可写或可读
	'##
	'###################################################################################################################
%>
<%
	function isFileExist(path,fileName)
		Set fso =Server.CreateObject("Scripting.FileSystemObject") 
		'response.Write server.mappath(path&fileName)&"
"
		existStatus=fso.FileExists(server.mappath(path&fileName)) 
		isFileExist=existStatus
		set fso=nothing
	end function
	
	function isFolderExist(path,folderName)
		Set fso =Server.CreateObject("Scripting.FileSystemObject") 
		'response.Write server.mappath(path&folderName)&"
"
		existStatus=fso.FolderExists(server.mappath(path&folderName)) 
		isFolderExist=existStatus
		set fso=nothing
	end function 
	
	function createFolder(path,folderName)
		Set fso =Server.CreateObject("Scripting.FileSystemObject")   
		'response.Write server.mappath(path&folderName)&"
"
		fso.CreateFolder server.mappath(path&folderName)
		set fso=nothing 
	end function
	
	function createFolderSeries(path)
		if trim(path) <> "" then
			myPath=path
			isFirstLine=false
			isHaveLine=right(path,1)
			isHaveFirstLine=left(path,1)
			if isHaveLine="\" or isHaveLine="/" then myPath=left(path,len(path)-1)
			if isHaveFirstLine="\" or isHaveFirstLine="/" then 
				isFirstLine=true
				myPath=right(myPath,len(myPath)-1)
			end if
			pathArray=split(myPath,"/")
			curFolder=""
			pathLine=""
			if isFirstLine=true then curFolder="/"
			for i=0 to ubound(pathArray)
				if i <> 0 then pathLine="/"
				curFolder=curFolder&pathLine&pathArray(i)
				if isFolderExist(curFolder,"") =false then
					createFolder curFolder,""
				end if
			next
		end if
	end function
	
	function createTextFile(path,fileName,textContent)
		Set fso =Server.CreateObject("Scripting.FileSystemObject")   
		Set setFile = fso.CreateTextFile(server.mappath(path&fileName), True)   
		setFile.WriteLine(textContent)
		setFile.Close 
		set fso=nothing  
	end function
	
	function copyFile(oldPath,oldFileName,newPath,newFileName)
		if isFileExist(oldPath,oldFileName) =true then
			oldFilePath=server.mappath(oldPath&oldFileName)
			createFolderSeries newPath
			newFilePath=server.mappath(newPath&newFileName)
			Set fso =Server.CreateObject("Scripting.FileSystemObject")   
			fso.CopyFile oldFilePath,newFilePath,True
			set fso=nothing
			copyFile=true
		else
			copyFile=false
		end if 
	end function
	
	function copyFolder(oldPath,oldFolderName,newPath,newFolderName)
		if isFolderExist(oldPath,oldFolderName) =true then
			oldFolderPath=server.mappath(oldPath&oldFolderName)
			newFolderPath=server.mappath(newPath&newFolderName)
			createFolderSeries newPath
			Set fso =Server.CreateObject("Scripting.FileSystemObject")   
			fso.CopyFolder oldFolderPath,newFolderPath,True
			set fso=nothing
			copyFolder=true
		else
			copyFolder=false
		end if
	end function
	
	function moveFile(oldPath,oldFileName,newPath,newFileName)
		if isFileExist(oldPath,oldFileName) =true then
			oldFilePath=server.mappath(oldPath&oldFileName)
			createFolderSeries newPath
			newFilePath=server.mappath(newPath&newFileName)
			Set fso =Server.CreateObject("Scripting.FileSystemObject")   
			fso.MoveFile oldFilePath,newFilePath
			set fso=nothing
			moveFile=true
		else
			moveFile=false
		end if 
	end function
	
	function moveFolder(oldPath,oldFolderName,newPath,newFolderName)
		if isFolderExist(oldPath,oldFolderName) =true then
			oldFolderPath=server.mappath(oldPath&oldFolderName)
			createFolderSeries newPath 
			newFolderPath=server.mappath(newPath&newFolderName)
			Set fso =Server.CreateObject("Scripting.FileSystemObject")   
			fso.MoveFolder oldFolderPath,newFolderPath
			set fso=nothing
			moveFolder=true
		else
			moveFolder=false
		end if
	end function
	
	function deleteFile(path,fileName)
		if isFileExist(path,fileName) =true then
			Set fso =Server.CreateObject("Scripting.FileSystemObject")   
			fso.DeleteFile (server.mappath(path&fileName)) ,true 
			set fso=nothing
			deleteFile=true
		else
			deleteFile=false
		end if 
	end function
	
	function deleteFolder(path,folderName)
		if isFolderExist(path,folderName) =true then
			Set fso =Server.CreateObject("Scripting.FileSystemObject")   
			fso.DeleteFolder (server.mappath(path&folderName)),true 
			set fso=nothing
			deleteFolder=true
		else
			deleteFolder=false
		end if
	end function
%>