标签: vbscript

用于计算文本文件中行数的函数

需要一个接受文件名作为参数的函数,然后返回该文件中的行数.

应该在30秒内获取一个1000万行文件的计数.

目前有一些东西 - 但它与大文件太慢:

Dim objFSO, strTextFile, strData, arrLines, LineCount
CONST ForReading = 1

'name of the text file
strTextFile = "sample.txt"

'Create a File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")

'Open the text file - strData now contains the whole file
strData = objFSO.OpenTextFile(strTextFile,ForReading).ReadAll

'Split by lines, put into an array
arrLines = Split(strData,vbCrLf)

'Use UBound to count the lines
LineCount = UBound(arrLines) + 1

wscript.echo LineCount

'Cleanup
Set objFSO = Nothing
Run Code Online (Sandbox Code Playgroud)

vbscript scripting

15
推荐指数
3
解决办法
7万
查看次数

VBScript条件短路解决方法

我有一个很大的经典ASP应用程序,我必须维护,我反复发现自己因缺乏短路评估能力而受阻.例如,VBScript不会让你逃脱:

if not isNull(Rs("myField")) and Rs("myField") <> 0 then
...
Run Code Online (Sandbox Code Playgroud)

...因为如果Rs("myField")为null,则在第二个条件中出现错误,将null与0进行比较.所以我通常最终会这样做:

dim myField
if isNull(Rs("myField")) then 
    myField = 0
else
    myField = Rs("myField")
end if

if myField <> 0 then
...
Run Code Online (Sandbox Code Playgroud)

显然,冗长是非常可怕的.看看这个庞大的代码库,我发现最好的解决方法是使用原始程序员编写的一个函数,名为TernaryOp,它基本上采用三元运算符式功能,但我仍然坚持使用一个不会的临时变量在功能更全面的语言中是必要的.有没有更好的办法?VBScript中确实存在一些超级秘密的短路方法吗?

vbscript asp-classic

14
推荐指数
3
解决办法
2万
查看次数

如何使用内部Windows XP选项在VBScript中解压缩文件

我想使用VBScript解压缩.zip文件,只是它总是一台没有外部应用程序的新计算机.现在我知道Windows XP和2003有一个内部.zip文件夹选项,所以我想我可以通过VBScript使用它来提取文件.

我该怎么做?

我试过了:

Set objShell = CreateObject("Shell.Application")

Set SrcFldr = objShell.NameSpace(fileName)
Set DestFldr = objShell.NameSpace(appDir)
DestFldr.CopyHere(SrcFldr) 
Run Code Online (Sandbox Code Playgroud)

哪个没用.可能是什么问题呢?

windows vbscript scripting zip

14
推荐指数
1
解决办法
5万
查看次数

有没有办法检查是否定义了VBScript函数?

这可能只是一厢情愿的想法......

有什么方法可以在调用之前检查是否定义了ASP/VBScript函数?

vbscript function asp-classic defined

14
推荐指数
2
解决办法
6250
查看次数

查找和删除孤立的网页,图像和其他相关文件

我在许多网站上工作的文件可以追溯到2000年.这些网站随着时间的推移有机增长,导致大量孤立的网页,包括文件,图像,CSS文件,JavaScript文件等......这些孤立的文件导致一些问题包括可维护性差,可能存在安全漏洞,客户体验不佳以及像我这样疯狂地驾驶OCD/GTD怪胎.

这些文件数量为数千个,因此完全手动解决方案是不可行的.最终,清理过程需要相当大的质量保证工作,以确保我们不会无意中删除所需的文件,但我希望开发一种技术解决方案来帮助加快手动工作.此外,我希望将流程/实用程序放在适当的位置,以帮助防止将来发生这种混乱局面.

环境考虑因素:

  • 经典的ASP和.Net
  • 运行IIS 6和IIS 7的Windows服务器
  • 多种环境(Dev,Integration,QA,Stage,Prodction)
  • TFS用于源代码管理

在开始之前,我想从其他成功导航过类似过程的人那里得到一些反馈.

具体我正在寻找:

  • 识别和清理孤立文件的过程
  • 保护环境免受孤立文件干扰的过程
  • 帮助识别孤立文件的实用程序
  • 帮助识别断开链接的实用程序(一旦删除文件)

我不是在寻找:

  • 组织强迫症的解决方案......我喜欢我的样子.
  • Snide关于我们的评论仍然使用经典的ASP.我已经感受到了痛苦.没有必要擦它.

asp.net gtd vbscript asp-classic

14
推荐指数
1
解决办法
2713
查看次数

VBScript和Access MDB - 800A0E7A - "无法找到提供程序.可能未正确安装"

我在连接到访问MDB数据库的VBScript时遇到问题.我的平台是Vista64,但其中大部分资源都用于ASP/IIS7.

很简单,我无法连接它.我收到以下错误:800A0E7A - "无法找到提供程序.可能未正确安装"

我的代码是:

Set conn = CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.MDB"
conn.Open strConnect
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经运行了%WINDIR%\ System32\odbcad32.exe来尝试在32位模式下配置驱动程序,但它还没有完成.任何建议将不胜感激

作为一个补充,我试图让这个.vbs脚本通过双击运行,并让它做它的事情.此代码未嵌入到另一个lang /脚本中.

oledb vbscript ms-access adodb

14
推荐指数
2
解决办法
8万
查看次数

帮助使用VBScript在Windows中创建Folder1/Folder2(以前两个文件夹都不存在,我的意思是创建多级文件夹@ strech.)

我用VBscript创建了文件夹.当我给出一个文件夹路径时,脚本只创建最后一个文件夹,如果最后一个文件夹不存在,它将失败...我需要一个vbscript代码来单独创建整个文件夹结构.像unix中的mkdir -p

windows vbscript scripting

14
推荐指数
2
解决办法
4万
查看次数

运行Powershell而不是VBScript有什么好处?

在使用这种脚本规划新项目时,Powershell和VBScript之间的主要区别是什么让我从一个到另一个选择?

windows vbscript powershell

14
推荐指数
1
解决办法
1万
查看次数

800A0401 - 预期结束声明

我已经创建了一个.vbs文件来在Outlook中创建一个文件夹.我已经从MSDN中复制了大部分脚本,并获得了"预期的语句结束"错误代码800A0401响应.

Option Explicit
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.Folder
Dim myNewFolder As Outlook.Folder

Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myNewFolder = myFolder.Folders.Add("Postini")

Wscript.Echo "Folder created"
Wscript.Quit
Run Code Online (Sandbox Code Playgroud)

以前从未创建过.vbs脚本.不知道我错过了什么.

Windows 7 64位和Outlook 2010.以本地管理员身份运行.

vbscript vba outlook-2010

14
推荐指数
1
解决办法
10万
查看次数

如何从命令行但不Cscript命令/ WScript的运行VBScript

我在VBScript初学者.我GOOGLE了它和认识了,我们可以从命令行由下面的命令执行运行VBScript:

例如,我的vbscript名称是Converter.vbs&它出现在文件夹中D:\VBS.

我可以通过以下方式运行:

CScript "D:\VBS\Converter.vbs"
Run Code Online (Sandbox Code Playgroud)

要么

WScript "D:\VBS\Converter.vbs"
Run Code Online (Sandbox Code Playgroud)

现在,我想上面执行VBScript 没有 CscriptWscript只需键入VBscript的名称即转换器的名称命令.

我不希望指定VBSCRIPT每次的完整路径.

任何人都可以请指导我该怎么做?

vbscript

14
推荐指数
4
解决办法
17万
查看次数