導航:首頁 > 文件目錄 > vbs如何遍歷文件里的csv文件內容

vbs如何遍歷文件里的csv文件內容

發布時間:2024-07-17 21:14:05

⑴ dos(批處理)或VBS腳本批量修改CSV格式文件內容

1.備份源文件

2.此為powershell腳本,保存為ps1擴展名文件,右鍵單擊腳本,以powershell運行

3.未對powershell進行過設置的,可以管理員身份運行CMD,復制以下命令到命令提符 以解除腳本限制

powershell-c"set-executionpolicyunrestricted"

當然也可以管理員運行POWERSHELL,輸入以下命令解除腳本限制

set-executionpolicyunrestricted

4. WIN10以下系統如出錯,可能需要去微軟官網下載補丁升級powershell

$SrcDir="D:	est";#源目錄
$ar=2,6;#替換的列
dir$SrcDir-Filter*.csv|%{$str=$null;type$_.FullName|%{
$n=0;
foreach($chin$_.split(",`t")){
$n+=1;
if($n-in$ar){$ch=$ch.Replace('TER','端子')}
$str+=$ch+',';
}
$str=$str.TrimEnd(',')+"`r`n";
}
Out-File-FilePath$_.FullName-InputObject$str-Encodingutf8;
}

⑵ 通過vbs腳本或者bat腳本,實現獲取文件名和文件大小等信息並輸出到Excel文檔

生成到EXCEL里的不會,但是可以生成CSV文件
自己建一個VBS文件,把下面的代碼扔進去。
可以自己制定路徑,生成C:\1.csv文件。

dim SF,sE,tF
dim fs,oF,sT

sub getFd(fd)
wrtf fd
for each tmpFd in fd.subfolders
getFd tmpFd
next
end sub

sub wrtF(fd)
for each tmpfile in fd.files
sE.write tmpfile.name & "," & tmpfile.size & vbcrlf
next
end sub

sF = InputBox("input your path")

set fs = CreateObject("Scripting.FileSystemObject")
set oF = fs.GetFolder(sF)

tF="C:\1.csv"

if fs.FileExists(tF) then
fs.DeleteFile tF
end if

set sE = fs.OpenTextFile (tF, 8, True)

sE.write "name,size" & vbcrlf

getFd oF

sE.close

msgbox "done!"

⑶ dos(批處理)或VBS腳本批量重命名及修改批量修改文件內容

寫好了.

@echo off
for /f "tokens=1,2 delims=," %%i in ('type "1234.csv"') do (
(
(echo S/N:%%i)
(echo Writing MAC %%j)
(echo Write MAC ^(%%j^))
)>"%%i.txt"
)
pause

測試:
1234.csv(Excel保存的逗號分隔符文件)用記事本打開內容是:
8A18517507,002185EE0E39
8A12345678,001d92123456
8A12345679,001d92123457
運行結果:
文件:
8A12345678.txt
內容:
S/N:8A12345678
Writing MAC 001d92123456
Write MAC (001d92123456)
文件:
8A12345679.txt
內容:
S/N:8A12345679
Writing MAC 001d92123457
Write MAC (001d92123457)
文件:
8A18517507.txt
內容:
S/N:8A18517507
Writing MAC 002185EE0E39
Write MAC (002185EE0E39)

⑷ vbs對指定文件夾下的最新文件(csv格式)操作的代碼

LogPath="D:123"
SetFSO=CreateObject("Scripting.FileSystemObject")
Dimdt,fn'定義兩個變數用於在遍歷時記錄最新的創建時間和文件名
dt="1990-1-1"'設定一個時間初始值用於後續比較
IfFSO.FolderExists(LogPath)Then
SetFolder=FSO.GetFolder(LogPath)
ForEachFileInFolder.Files
IfLCase(Right(File.Name,3))="csv"Then'判斷文件後綴
IfDateDiff("s",dt,File.DateCreated)>0Then'比較創建時間
'間隔時間以秒(s)為單位,返回兩個時間間隔的秒數
'若dt>File.DateCreated,DateDiff返回負數
'若dt<File.DateCreated,則更新dt和fn
dt=File.DateCreated
fn=File.Name
EndIf
EndIf
Next
SetFolder=Nothing
Else
'若文件夾路徑不存在,給出錯誤提示並退出腳本運行
MsgBox"Folder"&LogPath&"notfound!",vbExclamation
WScript.Quit
EndIf
'MsgBoxfn'顯示創建時間最新的文件名(不含路徑),調試時可放開注釋
'至此,得到文件名,下面讀文件並判斷第1行第1列的值是否符合要求
ConstForReading=1
Setf=FSO.OpenTextFile(LogPath&""&fn,ForReading)
'MsgBoxf.ReadLine'顯示第1行文本內容,調試時可放開注釋
ret=Split(f.ReadLine)'默認是空格分隔,若是TAB分隔,split要加第二個參數vbTab
'MsgBoxret(0)'顯示第1行第1列的值,調試時可放開注釋
f.Close
Setf=Nothing
SetFSO=Nothing
Ifret(0)>1.55Andret(0)<10.85Then
MsgBox"對",vbInformation
Else
MsgBox"錯",vbExclamation
EndIf

⑸ VBS怎麼往CSV文件中寫數據

csv叫「逗號分隔值」,顧名思義,用逗號來分隔每列的值,所以你要分列的話只要在每個欄位後面加個逗號就可以了。
如38行,改成ts.writeline("Date,Material,Presure,Temperature")
41行也只要將分號改成逗號就行了。

⑹ vbs如何將當前目錄下的所有csv文件裡面的指定內容的整行提取然後分別另存為相同文件名的excel

問三個問題
1:文件夾內是否只含有CSV文件,無其他格式文件?
2:每個CSV文件行數是否固定,為多少?
3:每個CSV文件中是否僅有唯一的aa,bb,cc行?

⑺ 請教excel vbs宏高手,批處理問題,指定批量讀取文件名的范圍(循環) ,讀不到某一個文件名就跳過操作並繼續

'將循環修改為:
ForiCol=201001To201412
IfDir("D:銀行"&iCol&".csv")<>""Then
Workbooks.OpenFilename:="D:銀行"&iCol&".csv"
……
EndIf
NextiCol

⑻ 請教如何寫VBS來處理csv文件

csv實際就是文本文件,按照文本文件讀取即可

ConstForReading=1
DimobjFSO,objFile,strline
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.OpenTextFile("d:xxx.csv",ForReading)
DoUntilobjFile.AtEndOfStream
strline=objFile.readline
MsgBoxstrline'這里是顯示一行內容而已,可以換成別的內容
Loop
objFile.close
Setfso=nothing
閱讀全文

與vbs如何遍歷文件里的csv文件內容相關的資料

熱點內容
深州有哪個編程學校好 瀏覽:826
抖音數據中心怎麼才算合格 瀏覽:540
全棧視頻數據是什麼 瀏覽:787
網上少兒編程哪個好些 瀏覽:132
oracle資料庫優化方法 瀏覽:844
怎麼關閉網路喚醒 瀏覽:894
孤單的微信頭像動漫 瀏覽:305
有沒有哪個大學教編程 瀏覽:851
wordpress後台添加廣告位置 瀏覽:491
怎樣快速修改qq密碼 瀏覽:145
怎麼清除惡意攻擊網站 瀏覽:511
qq頭像女生側顏馬尾 瀏覽:718
蘋果自己的文件格式 瀏覽:85
放在c盤的app如何刪除 瀏覽:912
華為手機克隆後文件放在哪裡 瀏覽:631
清樂網站製作需要多少人 瀏覽:294
網路游戲系統 瀏覽:933
java如何寫框架 瀏覽:423
微信接收文件改變儲存路徑 瀏覽:51
新加坡蘋果7手機價格 瀏覽:216

友情鏈接