程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP編程入門進階(十七):FSO組件之文件夾操作

ASP編程入門進階(十七):FSO組件之文件夾操作

編輯:關於ASP編程
操作完驅動器,接著就是來操作文件夾了。其中包括:提取文件夾信息、創建文件夾、刪除文件夾、復制文件夾、移動文件夾等。下面就具體來看。

一、fso.GetFolder
一看就明白,是提取文件夾了。那具體是提取哪個文件夾呢?後面肯定要跟一個文件夾的路徑。提取出來了再來顯示該文件夾相關信息呢?是不是有要具體提取下去。所以,看程序:
1,getfldr.asp


<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("c:\Program Files")
Response.Write "父文件夾名字是:" & fldr & "<br>"

If fldr.IsRootFolder = True Then
Response.Write "該文件夾是一根文件夾" & "<br>"
Else
Response.Write "該文件夾不是根文件夾" & "<br>"
End If

Response.Write "驅動器名字是:" & fldr.Drive & "<br>"
%>


首先建立FSO組件的連接是必不可少的啦,然後Set fldr = fso.GetFolder("c:\Program Files")設定fldr對象被賦值,以作下面程序的引用。

fldr.IsRootFolder即為判斷該文件夾是否為一根文件夾,值為布爾值(true or false);fldr.Drive則顯示該文件夾所在的驅動器號了。

二、fso.CreateFolder
下面比較讓人激動的是通過ASP建立文件夾了,你可以在你的權力范圍內任意位置建立任意文件夾。
2,creatfldr.asp


<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder ("c:\cnbruce")
Response.Write "文件夾名為" & fso.GetBaseName("c:\cnbruce")
%>


執行程序,應該發現C盤多出了cnbruce文件夾,fso.GetBaseName則是提取文件夾名。

三、fso.DeleteFolder
通過ASP可以建立了文件夾,則同樣可以刪除文件夾。

3,delfldr.asp


<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("c:\cnbruce")
Response.Write "文件夾已刪除"
%>



發現剛建立的cnbruce文件夾確實已被刪除。

注意,有時需要刪除文件夾,而該文件夾不存在時,會出現程序邏輯性錯誤。則應先判斷文件夾的狀態。



<%
dir=server.mappath("cnbruce")
Set fso = CreateObject("Scripting.FileSystemObject")
if (fso.FolderExists(dir)) then
fso.DeleteFolder(dir)
response.write("cnbruce文件夾已經刪除")
else
fso.CreateFolder(dir)
response.write("cnbruce文件夾已經建立")
end if
%>



那下面就采用一個通用程序來靈活應變下。

4,mainflr.asp


<%
Sub CreateAFolder(file)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(file)
response.write "已經建立了"&file
End Sub

Sub DeleteAFolder(file)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(file)
response.write "已經刪除了"&file
End Sub
%>
<%
subname=request.form("submit")
create=request.form("create")
del=request.form("del")
if subname<>"" then
if create<>"" then
call CreateAFolder(""&create&"")
end if
if del<>"" then
call DeleteAFolder(""&del&"")
end if
end if
%>
<form action="mainflr.asp" method="post">
<input name="create">
<input type="submit" value="建立" name="submit">
</form>
<hr>
<form action="mainflr.asp" method="post">
<input name="del">
<input type="submit" value="刪除" name="submit">
</form>


需要注意的是:刪除並不會提示“確認要放入回收站”這項。這點你需要謹慎處理,特別是對你的系統文件夾。

四、fso.MoveFolder
主要作用是進行文件夾的移動,相當於剪切粘貼動作。

5,movefldr.asp


<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder ("c:\cnbruce")
fso.MoveFolder "c:\cnbruce", "C:\Program Files\"
%>
<a href="C:\Program Files\">查看cnbruce文件夾有沒有移動過來</a>



格式:fso.MoveFolder "被移動的文件夾","移動到的文件夾"

本程序先是在C盤下建立了cnbruce文件夾,然後將其移動到C:\Program Files\文件夾下面。

不過同樣需要注意的是你的系統文件夾不能亂移動。

五、fso.CopyFolder
主要作用:將文件夾從某位置復制到另一位置。
6,copyfldr.asp


<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "c:\Program Files\cnbruce", "c:\"
%>
<a href="C:\">查看cnbruce文件夾有沒有復制過來</a>


該程序是建立在上一movefldr.asp的執行結果基礎之上來完成復制到C盤根目錄下的。(話比較長-_-!)

當然,其拷貝也是將該文件夾包括裡面所以子文件夾和文件統統拷貝。

到最後再試著將c:\Program Files\cnbruce和c:\cnbruce兩個文件夾進行刪除掉吧。

不過,繼續提醒你:不要寫錯了,比如寫成c:\Program Files,那你就慘了:這叫玩命,學ASP玩出心跳出來了。

對文件夾的操作差不多了,是不是感到用處比較大?有訓言:好東西是把雙刃劍。正義和邪惡就只一線間,注意正規合理利用該組件。不過還有你放心的是,現在網站空間服務商對這權力已經限定得死死的了,你再怎麼鬧翻也不會冒泡的:)

然後接下來就是更微妙的:FSO對文件的操作。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved