标签: vbscript

每个VBScript都不起作用

我无法在VBScript中获得以下功能.我试图获取文件夹中的所有文件并循环它们以获得编号最高的文件.(文件名格式为log_XXX.txt)我遇到的问题是代码永远不会进入我的For Each循环.我是VBScript的新手,但我似乎不明白为什么这不起作用.

Function GetFileNumber(folderspec)
   Dim fso, f, f1, fc, s, tempHighNum
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   WScript.Echo f.Files.Count : rem prints 3
   Set fc = f.Files
   WScript.Echo fc.Count : rem prints 3
   Set tempHighNum = "000"
   For Each f1 in fc
      WScript.Echo f1.Size : rem does not print
      WScript.Echo f1.Type : rem does not print
      WScript.Echo f1.Name : rem does not print       
      s = Right(f1.name,3)
      IF NOT(ISNULL(s)) THEN
        IF (s > tempHighNum) THEN
            tempHighNum = …
Run Code Online (Sandbox Code Playgroud)

vbscript

4
推荐指数
1
解决办法
2186
查看次数

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

windows7以编程方式设置"显示图标和通知"

我想要我的应用程序(用c#编写),它需要在Windows 7上运行并在通知区域中显示一个图标.默认为"仅显示通知"我默认显示我的图标.在c#中寻找api或者为此写一个脚本.如果没有直接的方法可以做到这一点有什么压倒性的方法吗?

c# vbscript scripting windows-7

4
推荐指数
1
解决办法
2408
查看次数

VBScript:如何检查SWbemObjectSet的有效性?

我有以下VBScript:

SET Wmi = GetObject("winmgmts:\\.\root\cimv2")
SET QR = Wmi.ExecQuery("SELECT * FROM Win32_Processor")
MsgBox("" & QR.Count)
Run Code Online (Sandbox Code Playgroud)

哪个效果很好.但是,当我查询不存在的内容时:

SET Wmi = GetObject("winmgmts:\\.\root\cimv2")
SET QR = Wmi.ExecQuery("SELECT * FROM Win32_DoesNotExist")
MsgBox("" & QR.Count)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Script: E:\test.vbs
Line: 3
Char: 1
Error: Invalid class
Code: 80041010
Source: SWbemObjectSet
Run Code Online (Sandbox Code Playgroud)

我怎么知道QR对象是否有效?

如果我打电话TypeName(QR),它会说SWbemObjectSet,但是一旦我尝试查询其中一个属性,它就会失败并显示上述消息.

我已经google了这个错误,大多数页面似乎都说"只是不做那个查询"的效果.遗憾的是,这不是一个选项,因为我想在多个版本的Windows上运行相同的脚本,而Microsoft偶尔会在新版本的Windows中弃用WMI类.我希望我的脚本能够优雅地处理它.

vbscript wmi

4
推荐指数
1
解决办法
5072
查看次数

将文件上载到SharePoint DocLib的VBScript

我正在尝试自动将文件上载到SharePoint文档库.我遇到了无数的帖子(在这个论坛上和其他人),但似乎无法获得有用的东西.虽然我做了一些简单的VBA和VB脚本,但我并不是真正的开发人员.

我正在寻找的是一个自动上传文件(特别是.xlsx和.zip类型)从本地机器到特定SharePoint文档库的解决方案(让我们使用".../sharepoint/Metrics/Forms/AllItems.aspx "作为列表"使用VBA或VB脚本.

在研究这个问题时,这里有一些其他的想法/评论,希望能帮助某人为我提供解决方案:

  • 我无法在SharePoint服务器上进行任何更改
  • 我需要能够在上传文件时传递凭据
  • 我只是在寻找VBA/VBS解决方案(没有C#或.NET)
  • 可能需要在上传时设置元数据

预先感谢您的任何帮助.

vbscript sharepoint file-upload

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

使用Ccur将vbscript舍入到小数点后2位

我正在使用CCur()而不是CDbl()在这个问题中回答:

vbscript数学表达式不起作用

但我想显示小数位数,例如3应该是3.00,3.555应该是3.55.

如何使用CCur()函数实现此目的?

vbscript asp-classic

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

永久删除Windows Scripting Host(WSH)脚本中的徽标

我知道永久删除徽标的两种方法."官方"一:

cscript //Nologo //S
Run Code Online (Sandbox Code Playgroud)

将为当前用户保存当前命令行选项.

一个ftype具有管理员权限的方法:

ftype wsffile="%SystemRoot%\System32\CScript.exe" //nologo "%%1" %%*
ftype  jsfile="%SystemRoot%\System32\CScript.exe" //nologo "%%1" %%*  
ftype vbsfile="%SystemRoot%\System32\CScript.exe" //nologo "%%1" %%*  
Run Code Online (Sandbox Code Playgroud)

%只有在批处理文件中使用行时才需要使用双精度数.

后者将所有用户通过影响reg键HKEY_CLASSES_ROOT\<file>\Shell\Open\Command,在哪里<file>可以wsffile,jsfilevbsfile.

你知道存储 cscript //Nologo //S设置的位置吗?

vbscript wsh windows-scripting windows-console

4
推荐指数
1
解决办法
347
查看次数

字符串替换C语句中的VB语句(";"&vbcrlf)的等效项

从一些旧的VB代码复制C#中的函数,以对电子邮件文本执行字符串操作.我不确定这是否适用于所有情况......任何人都可以确认我对正确使用的C#代码的看法吗?这些是等价的吗?

原创VB:

function FixText(Mail_Text)
   dim Clean_Text
   Clean_Text = Mail_Text
   Clean_Text = Replace(Clean_Text, "=" & vbcrlf, "")
   Clean_Text = Replace(Clean_Text, ";" & vblrcf, "")
   ` ... other stuff
   FixText = Clean_Text
End Function
Run Code Online (Sandbox Code Playgroud)

新C#:

public String FixText(Mail_Text)
{
   String Clean_Text = Mail_Text;
   Clean_Text = Clean_Text.Replace("=" + System.Environment.NewLine, "");
   Clean_Text = Clean_Text.Replace(";" + System.Environment.NewLine, "");
   // ... other stuff
   return Clean_Text;
}
Run Code Online (Sandbox Code Playgroud)

c# vbscript

4
推荐指数
1
解决办法
8438
查看次数

使用set objFile = objFSO.OpenTextFile时代码800A0005

我已多次搜索此错误代码并已访问多个站点以阅读响应.长话短说,还没有找到解决方案.

引用的一个页面:发送时出错(在vbscript中使用sendkeys的字符

这是我的代码:

set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("C:\Downloads\software\putty.exe -load navstat")

DIM date 
date = 301113

DIM tran1
tran1 = TAFFY

set objFSO = CreateObject("Scripting.FileSystemObject") 
set objFile = objFSO.OpenTextFile("C:\Users\Adrian\Desktop\Entries1.txt", ForReading) 

Do Until objFile.AtEndOfStream 
    strLine = objFile.ReadLine 
    If InStr(strLine, "JFK.GREKI3.MARTN..TOPPS") Then 
        set indi = 2 
        set tran1 = TOPPS 
    End If
Loop
Run Code Online (Sandbox Code Playgroud)

发生了什么:我正在扫描文本字符串的.txt文件(Entries1.txt).如果它们出现,我需要设置相应的indi值(所以当indi稍后用作变量时它将使用正确的#)并更改tran1变量.

出于某种原因,我收到错误:

set objFile = objFSO.OpenTextFile
Run Code Online (Sandbox Code Playgroud)

错误是

无效的过程调用或参数代码:800A0005

非常感谢帮助.

vbscript

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

如何从字符串中删除前导零

我必须从字符串中提取整数值.
它实际上是一个数量字段.

说字符串可以是000000000000512或者0000040000000
我只想要来自该字符串的整数值即; 512/4000000
请在VB脚本中帮助解决这个问题

vbscript

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