VBScript循环遍历文件夹中的所有文件

2023-12-11

我有在单个文件上执行该过程的代码,任何人都可以更改此脚本,以便它循环遍历目录“H:\Letter Display\Letters”中文件类型为“的所有文件”.LTR”并保存它们全部:

 Const ForReading = 1
 Const ForWriting = 2

 Set objFSO = CreateObject("Scripting.FileSystemObject")
 Set objFile = objFSO.OpenTextFile("H:\Letter Display\Letters\LTRPRT__00000008720000000001NI-K-RMND.LTR",    ForReading)


 str1000 = "1000"
 str1100 = "1100"
 str1200 = "1200"
 str9990 = "9990"

 arrCommas1 = Array(14,31,41,59,70,81,101,111,124,138)
 arrCommas2 = Array(14,31,41,55,79,144,209,274,409,563,589,608,623)
 arrCommas3 = ArraY  (14,32,41,73,83,97,106,156,167,184,188,195,207,260,273,332,368,431,461,472,593,617,666,772,810,834,848,894,898)
 arrCommas4 = Array(14,31,41)

 Do Until objFile.AtEndOfStream
   strLine = objFile.ReadLine

   If Left(strLine, 4) = str1000 then
     intLength = Len(strLine)
     For Each strComma in arrCommas1
       strLine = Left(strLine, strComma - 1) + "," _
         + Mid(strLine, strComma, intLength)
     Next
   End If

   If Left(strLine, 4) = str1100 then
     intLength = Len(strLine)
     For Each strComma in arrCommas2
       strLine = Left(strLine, strComma - 1) + "," _
         + Mid(strLine, strComma, intLength)
     Next
   End If

  If Left(strLine, 4) = str1200 then
     intLength = Len(strLine)
     For Each strComma in arrCommas3
       strLine = Left(strLine, strComma - 1) + "," _
         + Mid(strLine, strComma, intLength)
     Next
   End If

  If Left(strLine, 4) = str9990 then
     intLength = Len(strLine)
     For Each strComma in arrCommas4
       strLine = Left(strLine, strComma - 1) + "," _
         + Mid(strLine, strComma, intLength)
     Next
   End If

   strText = strText & strLine & vbCrLf
 Loop


 objFile.Close

 Set objFile = objFSO.OpenTextFile("H:\Letter Display\Letters\LTRPRT__00000008720000000001NI-K-RMND.LTR",  ForWriting)
 objFile.Write strText
 objFile.Close

任何帮助将非常感激!

Thanks


也许这会让事情变得清楚。 (或者让你更加困惑,)

Const ForReading = 1
Const ForWriting = 2

sFolder = "H:\Letter Display\Letters\"
Set oFSO = CreateObject("Scripting.FileSystemObject")

For Each oFile In oFSO.GetFolder(sFolder).Files
  If UCase(oFSO.GetExtensionName(oFile.Name)) = "LTR" Then
    ProcessFiles oFSO, oFile
  End if
Next

Set oFSO = Nothing


Sub ProcessFiles(FSO, File)

Set oFile2 = FSO.OpenTextFile(File.path, ForReading)

 str1000 = "1000"
 str1100 = "1100"
 str1200 = "1200"
 str9990 = "9990"

 arrCommas1 = Array(14,31,41,59,70,81,101,111,124,138)
 arrCommas2 = Array(14,31,41,55,79,144,209,274,409,563,589,608,623)
 arrCommas3 = ArraY  (14,32,41,73,83,97,106,156,167,184,188,195,207,260,273,332,368,431,461,472,593,617,666,772,810,834,848,894,898)
 arrCommas4 = Array(14,31,41)

     Do Until oFile2.AtEndOfStream
       strLine = oFile2.ReadLine

       If Left(strLine, 4) = str1000 then
         intLength = Len(strLine)
         For Each strComma in arrCommas1
           strLine = Left(strLine, strComma - 1) + "," _
             + Mid(strLine, strComma, intLength)
         Next
       End If

       If Left(strLine, 4) = str1100 then
         intLength = Len(strLine)
         For Each strComma in arrCommas2
           strLine = Left(strLine, strComma - 1) + "," _
             + Mid(strLine, strComma, intLength)
         Next
       End If

      If Left(strLine, 4) = str1200 then
         intLength = Len(strLine)
         For Each strComma in arrCommas3
           strLine = Left(strLine, strComma - 1) + "," _
             + Mid(strLine, strComma, intLength)
         Next
       End If

      If Left(strLine, 4) = str9990 then
         intLength = Len(strLine)
         For Each strComma in arrCommas4
           strLine = Left(strLine, strComma - 1) + "," _
             + Mid(strLine, strComma, intLength)
         Next
       End If

       strText = strText & strLine & vbCrLf
     Loop

     sFile = File.path
     oFile2.close
     set oFile2 = Nothing

     Set File = FSO.OpenTextFile(sFile ,  ForWriting)
     File.Write strText
     File.Close
     Set File = Nothing

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

VBScript循环遍历文件夹中的所有文件 的相关文章

随机推荐

  • PHP:“...的声明应该与...的声明兼容”

    我想为可 CRUD 可以保存和删除 的实体创建一个接口 这是我的抽象类 abstract class AbstractCrudableEntity extends AbstractEntity abstract public functio
  • 使用 Excel Power Query 使用的 Web API OData 服务进行 WAAD 身份验证

    我使用 OWIN 中间件创建了一个 WebAPI OData 3 0 Web 服务 该服务配置为使用 Windows Azure Active Directory 进行身份验证 ODataController 标有 Authorize 属性
  • 从同一个表中触发选择

    我想问一个关于触发器的问题 假设我有一个表 T 并且在更新之前需要一个触发器 但是 我有一个问题 我需要使用触发器中 T 的其他行来检查条件 我的问题是 哪些 RDBMS 支持此功能 我可以在哪里编写在触发器触发的同一个表上执行选择的触发器
  • 为什么 R 中 "" == true

    我刚刚开始学习 R 在我的第一个作业中 我面临一个问题 我需要比较一堆变量 在这样做时 我应该在比较两个变量时得到错误 不仅当它们不相等时 而且当它们的类型不一样 例如 7 7 给出 true 应该是 false 目前 我正在做同样的事情
  • Java Servlet 中的 PostgreSQL 连接用于从数据库检索信息。出现错误

    我很难完成这项工作 我可以毫无问题地连接到数据库 但是我无法让它显示 html 页面 它不运行 import java io import java sql import java text import java util import
  • Hibernate+SQLite+Netbeans

    有人可以告诉我在哪里可以找到将 hibernate 连接到 sqlite 的驱动程序和方言文件吗 由于SQLite数据库被广泛使用 并且Java中的Hibernate 不是NHibernate 对它的支持不够好 因此将SQLite与Hibe
  • 使用 MATLAB 比较文件

    我想知道如何比较两个文件 逐行 xml m txt 等 使用 MATLAB file1 toto xml file2 titi xml 我正在寻找一个 MATLAB 函数 通过命令行 它返回 true false 或 diff 列表 您可以
  • 正则表达式删除所有样式,但保留颜色和背景颜色(如果存在)

    我仍然无法用心使用正则表达式 因此无法找到最终的解决方案来使用 RegEx 和 Javascript 去除 中的所有样式 但是保留颜色和背景颜色 如果存在 我发现了什么 1 使用正则表达式删除完整的 style 元素 htmlString
  • 如何在一个 php include 文件中包含多个页面内容?

    我想知道如何将各种元素 页眉 页脚 导航 包含在一个 php 文件中以包含在各个页面上 而不是创建多个单独调用的 php 文件 在我的包含文件中 我有以下代码 输出到运行 php 的 html 页面我有 有没有办法包含特定的 div 或
  • .gitignore 忽略所有文件,然后递归允许 *.foo

    已经有几个与此类似的问题 但没有一个答案对我有用 我想忽略存储库下面的文件夹中的所有内容 除了带有 foo 的文件 如果有人想知道如何证明这一点 我实际上正在为我所有的 Logic 项目创建一个 git 存储库 Mac 上的音乐软件 但我只
  • 使用 GroundOverlay 的脉冲动画

    我需要通过脉冲动画显示位置 A 和位置 B 我可以使用下面的代码来实现这一点 但我面临的问题是 当缩放级别发生变化时 GroundOverlay 也会改变其大小 如果位置 A 和 B 彼此靠近 即地图放大级别较高 则脉冲半径太大 当我缩小时
  • 在负载平衡环境中获取 IIS 服务器变量的客户端值

    我有一个intranetASP NET Web 应用程序 我需要在其中获取客户端计算机的 IP 我通过以下代码执行此操作 HttpContext Current Request ServerVariables Item REMOTE HOS
  • 快照视图和动态视图有什么区别?

    我在 ClearCase 中看到有一个快照视图和一个动态视图 这些类型的视图之间有什么区别 我假设只有两种类型的视图 以及什么时候使用它们合适 快照视图基于本地文件系统 就像 Subversion 中的工作空间 您可以将文件加载到硬盘上的任
  • 为什么对派生类中的影子非虚拟成员函数的调用不调用基类成员函数?

    让我们在 Visual C 2010 中假设这个场景 include
  • 如果循环后没有匹配项,如何只得到一个答案

    我的代码在数组中有一个 for 循环 并且有 if 语句 如果没有匹配项 我只想得到一个答案 for int i 0 i lt arr Length i if arr i GetSomeValue gt 1 i GetSomeValue l
  • 如何检查 numpy 数组是否为空?

    如何检查 numpy 数组是否为空 我使用了以下代码 但如果数组包含零 则会失败 if not self Definition all 这是解决方案吗 if self Definition array 您可以随时查看 size属性 这是定义
  • 使用 2016 Facebook SDK 使页面访问令牌永不过期?

    我们正在构建的应用程序是一款 iOS 和 Android 移动应用程序 它将高中生与非营利组织配对 以帮助管理他们的 Facebook 页面 我们将每个学生分配到一个非营利组织 让他们成为 Facebook 页面的管理员 并允许他们代表该组
  • 如何在 Firestore (SWIFT) 中使用 FieldValue 减少值?

    阅读博客post和文档 我发现我们可以使用增加一个值FieldValue但我找不到减量函数 document fitness teams Team 1 updateData step counter FieldValue decrement
  • 查找当前流是否包含 ClearCase 中的基线

    假设我有一个名为 A1 的基线 然后我想看看是否有任何方法可以让我在同一个项目的任何地方进入另一个流 看看我的流中是否有 A1 IE 我的流中是否有 A1 中所做的代码更改 有什么快速的方法可以做到这一点吗 先感谢您 ClearCase 基
  • VBScript循环遍历文件夹中的所有文件

    我有在单个文件上执行该过程的代码 任何人都可以更改此脚本 以便它循环遍历目录 H Letter Display Letters 中文件类型为 的所有文件 LTR 并保存它们全部 Const ForReading 1 Const ForWri