导航:首页 > 文件目录 > 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文件内容相关的资料

热点内容
窝窝app怎么样自动关 浏览:228
苹果电脑怎么用wps生成多个文件夹 浏览:309
苹果手机哪里有卖 浏览:83
app登录状态为什么不过期 浏览:160
win10创意者无法升级 浏览:59
如何查杀后门程序 浏览:498
定类数据可以用哪些描述统计方法 浏览:278
微信公众号阅读全文怎么跳转文件 浏览:935
迷你编程怎么免费进入 浏览:354
苹果应用设置密码 浏览:21
windowsmac共享文件夹 浏览:274
数据安全性和固态硬盘哪个好 浏览:433
word为什么图片不能旋转 浏览:732
qq上本机文件怎么删除不了怎么办 浏览:117
美食的视频app有哪些 浏览:251
买酒去什么网站 浏览:140
jsdivcss 浏览:103
js有序数字 浏览:694
ps可以置入什么文件 浏览:794
阿里巴巴集团您正在重置密码 浏览:248

友情链接