使用VBS脚本检查字符串是否包含特定字符

2024-04-23

我的脚本正在做以下几点:

  1. 检索所有我选择的文件夹文件
  2. 按日期对它们进行分类(从最近的到较早的)
  3. 在窗口中显示它们

这是我的 VBS 脚本(我检索它here http://codes-sources.commentcamarche.net/source/37322-vbscript-liste-des-fichiers-d-un-repertoire-tries-par-date-de-modification-du-recent-au-ancien):

    Option Explicit

    Const PathMDB   = "C:\Users\C8461789\Desktop\test_script" 

    MsgBox TriRepertoire,,"Enumération " & PathMDB
    '---lister les fichiers du répertoire ---
    Function TriRepertoire()
    Dim fso, fichier, fileItem
    Dim i, imax, z, valeur, cible, liste
    Set fso = CreateObject("Scripting.FileSystemObject")

    imax = 0
    'début de l'énumération
    For Each fichier In fso.GetFolder(PathMDB).Files
    Set fileItem = fso.GetFile(fichier)

    imax = imax + 1
    ReDim Preserve Tableau(2, imax)
    Tableau(1, imax) = Fichier.Name
    Tableau(2, imax) = FileItem.DateLastModified

    '---trier les fichiers par ordre décroissant de création ---
    Do
    Valeur = 0
    For i = 1 To imax - 1
        If InStr(Tableau(1,i), "average", vbTextCompare) > 0 Then
            If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
                For z = 1 To 2
                   Cible = Tableau(z, i)
                   Tableau(z, i) = Tableau(z, i + 1)
                   Tableau(z, i + 1) = Cible
                Next
                Valeur = 1
            End If
        End If
    Next 
    Loop While Valeur = 1
    Set fileItem = nothing
    Next

    'Affichage du résultat classé
    For i = 1 To imax
    'If IsNull(Tableau) Then
        liste = liste &vbTab& Tableau(1, i) &vbCr 
    'End If
    Next
    TriRepertoire = liste

    Set fso = nothing 
    End Function

为了按名称过滤检索到的文件,我想添加以下条件:

  • 对于每个文件名,如果包含“average”,则将该文件名添加到表中
  • 否则什么也不做

我尝试使用

如果 InStr(Tableau(1,i), "average", vbTextCompare) > 0 那么

But it shows me this error : enter image description here


您正在使用InStr错误地。你的代码:

InStr(Tableau(1,i), "average", vbTextCompare)

签名为InStr is:

InStr([start,]string1,string2[,compare])

但这里的问题是它有两个可选参数,其中一个在前面,有一个特殊的条件:

选修的。指定每次搜索的起始位置。默认情况下,搜索从第一个字符位置 (1) 开始。如果指定了比较,则需要此参数

因为您使用的是第四个参数的值vbTextCompare,您还需要在第一个参数中指定起点,即1(第一个字符)在你的情况下。所以,更正后的代码是:

InStr(1, Tableau(1,i), "average", vbTextCompare)

您看到的错误消息基本上抱怨第一个参数应该是一个整数,但您正在向它提供一个字符串。

See InStr 文档 http://www.w3schools.com/asp/func_instr.asp.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用VBS脚本检查字符串是否包含特定字符 的相关文章

随机推荐

  • 如何在Python中序列化scandir.DirEntry以通过网络套接字发送?

    我有通过网络套接字相互通信的服务器和客户端程序 我想要的是发送一个目录条目 scandir DirEntry 从 获取scandir scandir 通过插座 现在我正在使用pickle and cPickle模块并提出以下内容 仅摘录 i
  • 如何通过api在google幻灯片中填充线性渐变颜色?

    下面是正常填充颜色的示例 requests new Google Service Slides Request array updateShapeProperties gt array objectId gt elementID field
  • 为什么浏览器将换行符呈现为空格?

    很长一段时间以来 我一直想理解为什么浏览器在渲染的 HTML 元素之间有一个 NewLine 时会在它们之间添加一个空格 例如 span Hello span span World span 上面的 html 将输出 HelloWorld
  • 设置配置项 (csrf) 在 Codeigniter 中不起作用

    我只想在我的几个控制器中打开 csrf 保护 所以我有 function construct parent construct this gt load gt library form validation this gt load gt
  • 在 ASP.NET Core 1.0 上处理大文件上传

    当我将大文件上传到 ASP NET Core 中的 Web api 时 运行时会在触发处理和存储上传的函数之前将文件加载到内存中 对于大量上传 这会成为一个问题 因为它既慢又需要更多内存 对于早期版本的 ASP NET有一些文章 http
  • Angular4 - ZoneAwareError

    当我尝试运行 Angular4 时 我突然看到一个错误 如下所示 ERROR ZoneAwareError zone symbol error Error Uncaught in promise Error Error at Error Z
  • 如何在scala Spark中按键连接两个数据集

    我有两个数据集 每个数据集都有两个元素 以下是示例 数据1 名称 动物 abc def monkey 1 df gh zebra 数据2 名称 水果 a efg apple abc def banana 1 预期结果 名称 动物 水果 ab
  • 初始化字符串时额外的花括号

    根据问题string array 是什么意思 是什么意思以及为什么它有效 https stackoverflow com questions 21481462 what does this code mean and why does it
  • 如何检测(心电图)波的模式?

    我正在尝试读取心电图图像并检测其中的每个主波 P 波 QRS 波群和 T 波 我可以读取图像并获得向量 例如 4 2 4 4 4 9 4 7 我需要一种算法来遍历这个向量并检测每个波何时开始和结束 一个例子 如果它们总是具有相同的大小 或者
  • #pragma pack、模板类型定义和结构对齐

    使用 Visual Studio 或 gcc 如果有的话 pragma pack push 16 typedef std map
  • 如何在Pythonlogging.Formatter中右对齐级别字段

    我目前正在尝试右对齐 Python 记录器中的日志记录级别字段 以便输出如下 2011 10 14 13 47 51 DEBUG starting smtphandlers py 96 2011 10 14 13 47 51 INFO fi
  • 重定向后的 HTTP 响应代码

    有一个到服务器的信息重定向 一旦来自服务器的响应 我想检查 HTTP 代码以抛出异常 如果有任何以 4XX 开头的代码 为此 我需要知道如何从标头中仅获取 HTTP 代码 这里还涉及到服务器的重定向 所以我担心curl 对我来说没有用 到目
  • Java 链表数组

    我正在尝试编写一个可以允许多个值的自定义哈希表 我们正在通过以下方式进行 创建大小为 Integer MAX 的链表数组 自定义链表 将值 int 插入到编号为键编号的链接列表中 表示结构如下 value1 gt value6 NULL N
  • 无法在 iPhone 6 上打开 Apple Pay 表

    我想制作一个示例项目 当用户单击我的应用程序上的 使用 Apple Pay 付款 按钮时 该项目会打开 Apple Pay 表 我在配备 iOs 版本 8 1 包含 Apple Pay 和 Xcode 6 1 GM 的 iPhone 6 上
  • 如何检测 android RecyclerView 中的 OverScroll?

    我尝试覆盖 onOverScrolled 但它没有被触发 public class MyRecyclerView extends RecyclerView public MyRecyclerView NonNull Context cont
  • 将 ed25519 私钥 ssh 转换为 RSA 私钥

    我正在寻找使用将 ed25519 私钥转换为 rsa 私钥ssh keygen I found 这个有用的指南 https man openbsd org ssh keygen但我无法弄清楚如何指定输入格式为 ed25519 并且导出格式应
  • 用 C++ 发出声音(嘟嘟声)

    如何用c 使硬件发出蜂鸣声 打印特殊字符 ASCII BEL 代码7 cout lt lt a Source https bytes com topic c answers 127539 making computer speaker be
  • 如何在align环境中标记每个方程?

    我想知道如何在对齐环境中标记每个方程 例如 begin align label eq lnnonspbb lambda i mu i 0 mu i xi i 0 lambda i y i w T x i b 1 xi i 0 end ali
  • 我可以 POST 和 GET 到同一个 PHP 页面吗

    例如 我想知道是否可以在同一个 php 页面上进行 GET 和 POST 我想将数据发送到 http www example com my php 所以首先是 GET http www example com my php task dos
  • 使用VBS脚本检查字符串是否包含特定字符

    我的脚本正在做以下几点 检索所有我选择的文件夹文件 按日期对它们进行分类 从最近的到较早的 在窗口中显示它们 这是我的 VBS 脚本 我检索它here http codes sources commentcamarche net sourc