腳本編程3 關于文件的讀寫
2020-07-26 12:06:21
供稿:網友
使用vbscript來讀寫文件,十分的方便,廢話少說,切入正題。
1、打開文件
使用opentextfile方法
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章里面,我打算寫一點驅動器和注冊表的內容,腳本編程內容也很豐富,我也只講關于黑客方面的。今天好累啊,還有就是請大家不要在論壇灌水了,我每天都刪貼,這樣也不好,論壇是大家的,我每天寫一些原創的東西也就是為了讓我們的論壇和別的論壇有些不同,我一個人力量有限,還要靠大家的力量,我打算在論壇上找幾個人一論壇的名義一起編個軟件,這樣我們的論壇也算有點名聲。
很晚了,休息了