国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbscript腳本編程教程2利用fso來進行文件操作

2020-07-26 12:04:32
字體:
來源:轉載
供稿:網友
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, 要提高水平只有靠自己,別人是幫不了你的
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那坡县| 桂东县| 昌黎县| 鹿邑县| 临夏市| 巴东县| 峨眉山市| 苏尼特右旗| 施秉县| 大兴区| 红安县| 泰州市| 甘德县| 福贡县| 新乐市| 河北区| 简阳市| 阳西县| 观塘区| 芦山县| 顺昌县| 芷江| 吉水县| 富阳市| 偏关县| 剑河县| 宽甸| 太湖县| 湘阴县| 洛浦县| 达拉特旗| 景泰县| 尤溪县| 潮安县| 荆门市| 哈尔滨市| 阜新市| 广汉市| 炎陵县| 华宁县| 澄城县|