Vbscript 指令碼程式設計3 關於檔案的讀寫
Vbscript 指令碼程式設計3關於檔案的讀寫
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
By <?xml:namespace prefix = st1 ns = "Tencent" />sssa2000
<?xml:namespace prefix = st2 ns = "urn:schemas-microsoft-com:office:smarttags" />7/9/2004
使用vbscript來讀寫檔案,十分的方便,廢話少說,切入正題。
1、開啟檔案
使用
set fs =createobject(“scripting.filesystemobject”)
set ts=fs.opentextfile(“c:/1.txt”,1,true)
注意這裡需要填入檔案的完整路徑,後面一個引數為訪問模式
1為forreading
2為forwriting
8為appending
第三個引數指定如果指定檔案不存在,是否建立。
2、讀取檔案
讀取檔案的方法有三個
read(x)讀取x個字元
readline讀取一行
readall全部讀取
例如:
set fs =createobject(“scripting.filesystemobject”)
set ts=fs.opentextfile(“c:/1.txt”,1,true)
value=ts.read(20)
line=ts.readline
contents=ts.readall
這裡還要介紹幾個指標變數:
textstream物件的atendofstream屬性。當處於檔案結尾的時候這個屬性返回true.我們可以用迴圈檢測又沒有到達檔案末尾。例如:
set fs =createobject(“scripting.filesystemobject”)
set f=fs.getfile(“c:/1.txt”,1,false)
set ts=f.openastextstream(1,0)
do while ts.atendofstream<>true
f.read(1)
loop
還有一個屬性,atendofline,如果已經到了行末尾,這個屬性返回true.
Textstream物件還有兩個有用的屬性,column和line.
在開啟一個檔案後,行和列指標都被設定為1。
看一個綜合的例子吧:
*******************************read.vbs******************************
set fs =createobject(“scripting.filesystemobject”)
set f=fs.opentextfile(“c:/1.txt”,1,true)
do while f.atendofstream<>true
data=””
for a=1 to 5
if f.atendofstream<>true then
data=data+f.readline
end if
next
dataset=dataset+1
wscript.echo “data set” &dataset & ”:” & data
loop
最後說一下在檔案中跳行
skip(x)跳過x個字元
skipline跳過一行
用法也很簡單 和前面一樣,就不說了。
3、寫檔案
可以用forwriting和forappending方式來寫
寫有3各方法:
write(x)
writeline
writeblanklines(n) 寫入n個空行
來看一個例子:
*****************************************************************
data=”hello, I like script programing”
set fs =createobject(“scripting.filesystemobject”)
if (fs.fileexists(“c:/2.txt”)) then
set f =fs.opentextfile(“c:/2.txt”,8)
f.write data
f.writeline data
f.close
else
set f=fs.opentextfile(“c:/2.txt”,2, true)
f.writeblanklines 2
f.write data
f.close
end if
注意 寫完檔案以後一定要關閉!!!!!!!還有就是,如果要讀檔案又要寫檔案,讀完之後一定也要記得關閉,這樣才能以寫的方式開啟。
好了 關於檔案都說完了,實際運用中還有可能牽扯到關於字串的操作。
後面的1章裡面,我打算寫一點驅動器和登錄檔的內容,指令碼程式設計內容也很豐富,我也只講關於黑客方面的。今天好累啊,還有就是請大家不要在論壇灌水了,我每天都刪貼,這樣也不好,論壇是大家的,我每天寫一些原創的東西也就是為了讓我們的論壇和別的論壇有些不同,我一個人力量有限,還要靠大家的力量,我打算在論壇上找幾個人一論壇的名義一起編個軟體,這樣我們的論壇也算有點名聲。
很晚了,休息了。