腳本編程3 關(guān)于文件的讀寫
2020-07-26 12:06:21
供稿:網(wǎng)友
 
						  
使用vbscript來讀寫文件,十分的方便,廢話少說,切入正題。 
  
1、打開文件 
使用opentextfile方法 
set fs =createobject(“scripting.filesystemobject”) 
set ts=fs.opentextfile(“c:/1.txt”,1,true) 
注意這里需要填入文件的完整路徑,后面一個參數(shù)為訪問模式 
1為forreading 
2為forwriting 
8為appending 
第三個參數(shù)指定如果指定文件不存在,是否創(chuàng)建。 
  
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屬性。當(dāng)處于文件結(jié)尾的時候這個屬性返回true.我們可以用循環(huán)檢測又沒有到達文件末尾。例如: 
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,如果已經(jīng)到了行末尾,這個屬性返回true. 
Textstream對象還有兩個有用的屬性,column和line. 
在打開一個文件后,行和列指針都被設(shè)置為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  
注意 寫完文件以后一定要關(guān)閉!!!!!!!  還有就是,如果要讀文件又要寫文件,讀完之后一定也要記得關(guān)閉,這樣才能以寫的方式打開。 
  
好了 關(guān)于文件都說完了,實際運用中還有可能牽扯到關(guān)于字符串的操作。 
后面的1章里面,我打算寫一點驅(qū)動器和注冊表的內(nèi)容,腳本編程內(nèi)容也很豐富,我也只講關(guān)于黑客方面的。今天好累啊,還有就是請大家不要在論壇灌水了,我每天都刪貼,這樣也不好,論壇是大家的,我每天寫一些原創(chuàng)的東西也就是為了讓我們的論壇和別的論壇有些不同,我一個人力量有限,還要靠大家的力量,我打算在論壇上找?guī)讉€人一論壇的名義一起編個軟件,這樣我們的論壇也算有點名聲。 
很晚了,休息了