vbscript指令碼編程教程2利用fso來進行檔案操作

來源:互聯網
上載者:User

by sssa2000
我們來看一看怎麼利用fso來進行檔案操作。Fso時vbs裡進行檔案操作的核心。作為駭客,不管學習什麼語言,對檔案的操作都應該是要了如指掌的,所以請大家仔細學習。

不說廢話,先看fso由哪幾個對象組成:

drive對象:包含儲存裝置的資訊,包括硬碟,光碟機,ram盤,網路磁碟機

drives集合:提供一個物理和邏輯磁碟機的列表

file 對象:檢查和處理檔案

files 集合:提供一個檔案夾中的檔案清單

folder對象:檢查和處理檔案夾

folders集合:提供檔案夾中子檔案夾的列表

textstream對象:讀寫文字檔

看看fso的方法:由於很多,所以我不會把每個的作用寫出來,如果有不懂的,自己查一下msdn。不要說沒有哦

bulidpath:把檔案路徑資訊添加到現有的檔案路徑上

copyfile

copyfolder

createfolder

createtextfile

deletefile

deletefolder

dreveexits

fileexits

folderexists

getabsolutepathname:返回一個檔案夾或檔案的絕對路徑

getbasename:返回一個檔案或檔案夾的基本路徑

getdrive:返回一個dreve對象

getdrivename:返回一個磁碟機的名字

getextensionname:返回副檔名

getfile:返回一個file對象

getfilename:返迴文件夾中檔案名稱

getfolder

getparentfoldername:返回一個檔案夾的父資料夾

getspecialfolder:返回指向一個特殊檔案夾的對象指標

gettempname:返回一個可以被createtextfile使用的隨機產生的檔案或檔案夾的名稱

movefile

movefolder

opentextfile

好了,看到這裡我想大家也明白了一大半,可能後面都不用我多說了,指令碼就是這麼簡單,呵呵呵,還是繼續把。

1、使用fso

由於fso不是wsh的一部分,所以我們需要建立他的模型

例如set fs=wscript.createobject(“scripting.filesystemobject”)

這樣就建立了fso的模型。如果要釋放的話也很簡單,set fs=nothing

2、使用檔案夾

建立:

在建立前我們需要檢查是否存在,看一下程式

***************************createfolder.vbs*****************************

dim fs,s

set fs=wscript.createobject(“scripting.filesystemobject”)

if (fs.folderexists(“c:\temp”)) then

s=”is available”

else

s=”not exist”

set foldr=fs.createfolder(“c:\temp”)

end if

刪除、拷貝、移動

刪除:

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.deletefolder(“c:\windows”)

拷貝:

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.copyfolder “c:\data” “d:\data”

注意,如果這個時候c:\data 和d:\data都存在,會出錯,複製也就會停止,如果要強制覆蓋,使用fs.copyfolder “c:\data” “d:\data”,true

移動

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.movefolder “c:\data” “d:\data”

關於萬用字元:

我們可以使用統配符,來方便操作:

例如, fs.movefolder :c:\data\te*” , “d:\working”

注意到沒有,我在目的路徑最後沒有使用“\” 也就是說我沒有這樣寫:

fs.movefolder :c:\data\te*” , “d:\working\”

這樣寫的話,如果d:\working 目錄不存在,windows就不會為我們自動建立這個目錄。

還有一點,大家注意到沒有 上面說的都沒有涉及到folder對象,我們都是在利用fso提供的方法,當然利用folder一樣可以的:

set fs= wscript.createobject(“scripting.filesystemobject”)

set f=fs.getfolder(“c:\data”)

f.delete ‘刪除。如果有子目錄,也會被刪除

f.copy “d:\working”,true ‘拷貝到d:\working

f.move :”d:\temp” ‘移動到d:\temp

特殊檔案夾

一般指的就是系統檔案夾:\windows\system32, 臨時檔案夾,windows檔案夾

看下面,我們使用環境變數來獲得windows目錄,關於環境變數我們會在後面詳細講道,如果我忘記了 請大家提醒我

set fs=wscript.createobject(“scripting.filesystemobject”)

set wshshell=wscript.createobject(“wscript.shell”)

osdir=wshshell.expandenvironmentstrings(“%systemroot%”)

set f =fs.getfolder(osdir)

wscript.echo f

當然,還有簡單的方法 那就是使用getspecialfolder()

這個方法使用3種值:

0 表示windows檔案夾,相關常量是windowsfolder

1 系統檔案夾,相關常量是systemfolder

2 臨時目錄,相關常量temporaryfolder

看下面的例子:

***********************************getspecialfolder***************************

set fs=wscript.createobject(“scripting.filesystemobject”)

set wfolder=fs.getspecialfolder(0) ‘返回windows目錄

set wfolder=fs.getspecialfolder(1) ‘返回system32\

set wfolder=fs.getspecialfolder(2)'返回臨時目錄

3、使用檔案

使用檔案屬性:

檔案夾的屬性我沒有說,大家可以從檔案屬性裡舉一反三

檔案屬性常用的就是:

normal 0

readonly 1

hideen 2

system 4

set fs=wscript.createobject(“scripting.filesystemobject”)

set f=fs.gerfile(“d:\index.txt”)

f.attributes=f.attributes+1

這裡由於不知道d:\index.txt的檔案屬性,所以會發生不可預測的結果,如果檔案的屬性是0,那麼就會變成1。所以最好在改變屬性前查詢

建立

建立前需要檢查檔案是否存在,方法和前面說的檔案夾的方法一樣

*****************************file.vbs**********************************

set fs=wscript.createobject(“scripting.filesystemobject”)

if fs.fileexists(“c:\asd.txt”) then

s=” available”

else

s=not exist”

set f=fs.createtextfile(“c:\asd.txt”)

end if

當然 我們也可以使用set f=fs.createtextfile(“c:\asd.txt”,true)

來強制覆蓋已存在的檔案。

複製移動刪除檔案

和檔案夾一樣 我們既可以使用fso提供的方法也可以用file對象

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.copyfile “c:\asd.txt”,”d:\1\asd.txt”,true ‘複製檔案,如果已存在就強制覆蓋

fs.movefile “c:\asd.txt”, “d:\” ‘移動

fs.deletefile “c:\asd.txt” ‘刪除

好了,下一章我們就要學習檔案的讀寫了,檔案的讀寫是檔案系統,尤其是駭客編程裡面十分重要的一部分,今天打字可能有很多錯誤,大家看的時候仔細一點,不懂得多看看msdn, 要提高水平只有靠自己,別人是幫不了你的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.