标签: vbscript

为什么我不能使用VBscript在DAO.DBEngine.36中使用"CompactDatabase"?

我正在尝试制作一个压缩MS Access 2007数据库文件的小型VBScript.

我的代码是:

Set acc2007 = CreateObject("DAO.DBEngine.36")
acc2007.CompactDatabase "C:\test.accdb", "C:\test2.accdb", Nothing, Nothing, ";pwd=test"
Set acc2007 = Nothing
Run Code Online (Sandbox Code Playgroud)

当我使用32位cmd.exe中的"cscript test.vbs"运行三行时,我收到此错误:

C:\ test.vbs(10,1)DAO.DbEngine:无法识别的数据库格式'C:\ test.accdb'.

数据库是使用MS Access 2007创建的,当我通过双击图标打开它时,我键入密码"test",然后我正常打开.它在顶部显示"Access 2007",因此它具有正确的格式.

这里是我正在尝试使用的函数的文档:http://msdn.microsoft.com/en-us/library/bb220986.aspx

DAO.DBEngine.36对象已成功创建,因为我没有在该行上收到任何错误.有什么不对?

database compression vbscript ms-access

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

用于VBScript性能测量的细粒度计时器

我在VBScript中做了一些性能测量.我想测量算法的执行速度

t1 = Now()  
doAlotOfWork ()  
t2 = Now()  
MsgBox "Operation took " & DateDiff ("s", t1, t2)  & " seconds."
Run Code Online (Sandbox Code Playgroud)

这给了我几秒钟的时间.如果一个算法导致1秒执行时间而另一个算法导致2秒钟,这几乎不会给我任何有用的信息.我需要将问题大小炸成一段需要一分钟才能执行的东西.

有没有人知道在VBScript中进行这些测量的方法,但随后更精细.例如,引入毫秒的东西.

我觉得WMI必须有一个解决方案.

vbscript benchmarking timer

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

从VBScript调用Foo(...,[out] BSTR*value)的COM方法

我可以使用签名来调用COM方法

 HRESULT Foo(BSTR in, [out] BSTR * out1, [out] BSTR * out2)
Run Code Online (Sandbox Code Playgroud)

来自VBScript?

下列:

 Dim a;
 Dim b;
 component.Foo "something", a, b
Run Code Online (Sandbox Code Playgroud)

给出了关于不兼容类型的错误.


我仍然可以改变方法的签名.

com vbscript method-signature

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

将VBS代码转换为C#

我在http://www.hmailserver.com/documentation/latest/?page=com_example_account_create下面提供了以下代码作为hMailServer的DCOM API提供的代码以下脚本正常工作.它没有任何参考.在安装hMailServer之后,运行以下代码可以创建一个帐户.现在,我在C#中需要相同的东西.他们没有为我提供任何C#我用Google搜索的库,但我没有相关的结果是下面的代码,但根据hMailServer API,他们说你可以将下面的脚本转换成你想要的任何语言.但是怎么样?我甚至不知道如何开始写第一行.有人请帮帮我.

Dim obApp
   Set obApp = CreateObject("hMailServer.Application")

   ' Authenticate. Without doing this, we won't have permission
   ' to change any server settings or add any objects to the
   ' installation.   
   Call obApp.Authenticate("Administrator", "your-main-hmailserver-password")

   ' Locate the domain we want to add the account to
   Dim obDomain
   Set obDomain = obApp.Domains.ItemByName("example.com")

   Dim obAccount
   Set obAccount = obDomain.Accounts.Add

   ' Set the account properties
   obAccount.Address = "account@example.com"
   obAccount.Password = "secret"
   obAccount.Active = True
   obAccount.MaxSize = 100 ' Allow max …
Run Code Online (Sandbox Code Playgroud)

c# com vbscript

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

如何确定文件是否使用VBS锁定?

我正在编写一个VB脚本来更新网络上的一些文件.在开始之前,我想知道是否有任何文件被锁定.我真正做任何更新之前,我想这样做.

我知道当我尝试更换文件时,如果文件被锁定,我可以处理错误,但我真的想知道在开始更新任何文件之前是否有任何文件被锁定.

有没有办法看到使用VBS锁定文件(除了尝试替换它)?

vbscript wsh filesystemobject

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

逐行读取txt文件

我无法让vbscript逐行读取文本.这是代码应该执行的步骤:

  1. 读取folder.txt
  2. 打开folder.txt中列出的文件
  3. 回显test.txt中的内容
  4. 读取folder-list.txt
  5. 打开folder-list.txt中列出的文件
  6. 打开dirlist.txt并逐行回声

folder.txt包含的示例:

C:\Documents and Settings\Administrator\Desktop\ArtistCG\[ Go! Go! Heaven!!]_____________25 -______ ___- [525067]\test.txt
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[12CUT] _____ (Gakkou no Kaidan) [518382]\test.txt
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[2____] _____!__CD__________ [521206]\test.txt
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[Ability] _____________________ [514182]\test.txt
Run Code Online (Sandbox Code Playgroud)

folder-list.txt包含的示例:

C:\Documents and Settings\Administrator\Desktop\ArtistCG\[ Go! Go! Heaven!!]_____________25 -______ ___- [525067]\dirlist.txt
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[12CUT] _____ (Gakkou no Kaidan) [518382]\dirlist.txt
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[2____] _____!__CD__________ [521206]\dirlist.txt
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[Ability] _____________________ [514182]\dirlist.txt
Run Code Online (Sandbox Code Playgroud)

每个dirlist.txt包含的示例

C:\Documents and Settings\Administrator\Desktop\ArtistCG\[ Go! Go! Heaven!!]_____________25 -______ ___- [525067]\00.jpg
C:\Documents and Settings\Administrator\Desktop\ArtistCG\[ Go! Go! Heaven!!]_____________25 -______ …
Run Code Online (Sandbox Code Playgroud)

vbscript

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

如何使用批处理或vbscript向Windows 7/8搜索索引添加位置?

我正在尝试以编程方式向我的Windows 8搜索索引添加位置(范围).经过一些谷歌搜索,我发现[这里]的代码:

Set objISAdm = CreateObject("Microsoft.ISAdm")
Set objCatalog = objISAdm. GetCatalogByName("MyCatatlog")
Set objScope= objCatalog.AddScope("C:\myfiles",False)
objScope.Alias = "MyCatalogScope"
Run Code Online (Sandbox Code Playgroud)

不幸的是,800A01AD错误提示无法创建对象'Microsoft.ISAdm'.进一步挖掘,似乎上面的代码不适用于Windows 8上的较新版Windows Search.

有谁知道如何使用vb脚本或从命令行?据推测,在Windows 7下工作的东西也适用于Windows 8.

vbscript powershell windows-search

5
推荐指数
2
解决办法
4627
查看次数

正则表达式匹配{asdf}但不匹配{{asdf}}

我有一个非常直截了当的问题.

我正在使用此正则表达式来匹配实例{somestring}.

\{{1}(\w+?)\}{1}
Run Code Online (Sandbox Code Playgroud)

问题是,我需要它忽略的情况下{{somestring}},当然,这是相匹配的内部{somestring}{{somestring}}.

知道如何调整表达式以跳过任何类似的东西{{somestring}}吗?

我正在使用vbscript的正则表达式引擎.

regex vbscript

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

字典对象可以在同一个键下有多个项吗?

我正在寻找与字典对象项相关的解决方法

Dim a, d 'Create some variables

 Set d = CreateObject("Scripting.Dictionary")

 d.Add "a", "Athens" 'is possible I know 

 d.Add "a", "Athens","India","Paris" ' Is this Possible  under same Key?
Run Code Online (Sandbox Code Playgroud)

描述快照:( 更新)

  Manger ID            EMPID      EMPID     EMPID     EMPID ......

     11                12          10
     15                10 
     20                22          45        46
     40
Run Code Online (Sandbox Code Playgroud)

如何使用字典对象实现上表?给我一些想法.

谢谢,

vbscript

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

检查文件是否与VBS一起使用

我想制作一个小的VBS脚本,告诉用户文件是否在使用中.我有一个文件,如果这个文件正在使用VBS应该给我一个消息,该文件正在使用中.如果任何进程未使用该文件,VBS应该向我发出该文件未被使用的消息.我试过这个,但没有任何作用.

vbscript file

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