中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 12:22
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » 求助!VBS脚本改善
可打印版本  2,033 / 6
第1楼 xyz1234111 发表于 2011-01-17 19:48
初级用户 发帖 32 积分 32
求助!VBS脚本改善
大家好:
小弟对VBS一窍不通!
我今天在网上找了个VBS的文本分割脚本(附件1:VBS文件分割),但是我每次分割的话都要在脚本里修改源文件文件名,这样才能分割,挺麻烦的,请教高人能不能把这个VBS帮我改成(附件2:aabb.vbs)那样直接选择文件,然后来进行分割的,谢谢各位大侠了
附件1:
Set fs =CreateObject("scripting.filesystemobject")
Set gs =CreateObject("scripting.filesystemobject")
Set f=fs.opentextfile("url.txt",1,true) 'url.txt是要分割的txt文件
n=0
do while f.atendofstream<>true
n=n+1
data=""
Set g=gs.opentextfile(CStr(n)+".txt",2, true) '分割后的文件保存为:1.txt 2.txt 3.txt……
if f.atendofstream<>true then
for a=1 to 1000 '分割后,一个文件1000行
data=f.readline
g.writeline data
next
end if

loop
f.close
g.close



附件2:
set fso=createobject("scripting.filesystemobject")
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "vbs File|*.txt|All Files|*.*"
objDialog.InitialDir = ""
objDialog.ShowOpen
strLoadFile = objDialog.FileName

[ Last edited by xyz1234111 on 2011-1-17 at 19:51 ]

附件
VBS文件分割.rar (434 bytes)
aabb.rar (252 bytes)
第2楼 xyz1234111 发表于 2011-01-18 09:10
初级用户 发帖 32 积分 32
等了一晚上了,来个高人帮忙看看啊
第3楼 slore 发表于 2011-01-18 10:08
铂金会员 发帖 2,478 积分 5,212
Set fso = CreateObject("scripting.filesystemobject")
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "vbs File|*.txt|All Files|*.*"
objDialog.InitialDir = ""
objDialog.ShowOpen
strLoadFile = objDialog.FileName

Set f = fso.OpenTextFile(strLoadFile,1,True) '要分割的txt文件
n = 0
Do While f.atendofstream <> True
n = n + 1
data = ""
Set g = fso.OpenTextFile(CStr(n) + ".txt",2, True) '分割后的文件保存为:1.txt 2.txt 3.txt……
If f.atendofstream <> True Then
For
a = 1 To 1000 '分割后,一个文件1000行
data = f.ReadLine
g.writeline data
Next
End If

Loop
f.Close
g.Close
第4楼 xyz1234111 发表于 2011-01-19 13:02
初级用户 发帖 32 积分 32
slore大侠:
谢谢你改过的代码,已经可以使用了,但是我好像发现了个小问题,可能是代码本身的原因吧!
代码在选择文件窗口打开后如果这个时候不选文件直接点退出的话这个脚本会不知道从哪里找来一些文本进行分割,不知道能帮忙修改下这个程序吗?
第5楼 mountvol 发表于 2011-01-19 14:21
初级用户 发帖 117 积分 186
第6楼 slore 发表于 2011-01-19 14:22
铂金会员 发帖 2,478 积分 5,212
strLoadFile = objDialog.FileName

if strLoadFile = "" Then WSH.Quit

Set f = fso.OpenTextFile(strLoadFile,1,True) '要分割的txt文件
第7楼 xyz1234111 发表于 2011-01-21 14:29
初级用户 发帖 32 积分 32
谢谢slore老兄
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023