vbs指令碼讀寫檔案
2008-03-07 16:31
vbs指令碼讀寫檔案
1、開啟檔案
使用opentextfile方法
set fs =createobject(「scripting.filesystemobject」)
set ts=fs.opentextfile(「c:/1.txt」,1,true)
注意這裡需要填入檔案的完整路徑,後面乙個引數為訪問模式
1為forreading
2為forwriting
第三個引數指定如果指定檔案不存在,是否建立。
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、寫檔案
寫有3各方法:
write(x) ,該方法輸出不換行,需要使用chr(13)換行
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
注意: 寫完檔案以後一定要關閉! 還有就是,如果要讀檔案又要寫檔案,讀完之後一定也要記得關閉,這樣才能以寫的方式開啟。
vbs檔案操作指令碼例項
vbs檔案操作指令碼例項 2009年11月04日 星期三 11 03 2009年10月23日 下午 02 45 1.建立乙個新的文字檔案,如果檔案已經存在則報告錯誤 rem 在當前盤根目錄下建立 測試.txt 並寫入乙個字串 vbs dim fso,file,filename vbs filenam...
Python指令碼 讀寫檔案
日常寫指令碼,最後添了關閉檔案報錯,錯誤原因是把f.open read 連線使用 語法沒有什麼問題 修改成如下,就能正常列印讀取檔案的內容 關於寫入檔案,會覆蓋原始檔案的內容 f open users asus desktop vray.txt w f.write hello world f.clo...
VBS 常用指令碼
將域使用者或租新增到本地組 set objgroup getobject winnt administrators set objuser getobject winnt testnet engineers objgroup.add objuser.adspath 修改本地管理員密碼 set obj...