问题标签 [filesystemobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1708 浏览

vbscript - 尝试在 VBScript 中使用 Shell 对象和 FileSystemObject 进行文件操作

我正在尝试递归循环数百个目录和数千个 JPG 文件,以收集按日期对新文件夹中的文件进行排序。到目前为止,我能够使用 Shell NameSpace 对象单独 GetDetailsOf 文件,并且我还能够使用 FileSystemObject 递归循环遍历目录。但是,当我尝试将它们放在函数等中时,当我尝试从照片中获取 DateTaken 属性时,我什么也得不到。

到目前为止,这是我的代码:

0 投票
3 回答
3699 浏览

vba - (VBA) 与其他站点上的 CreateTextFile 相关的运行时错误 76

晚上好,

我已经尝试修复这个错误几个小时了,但没有运气。这尤其令人沮丧,因为该错误不会在我自己的工作站上表现出来,而是在其他每个人的工作站上表现出来。代码的目的是创建(FileSystemObject -> CreateTextFile)两个 .txt 文件,并将特定信息写入(TextStream)每个文件中。以下是相关的代码行:

我确定声明的文件路径存在于经过测试的机器上。我怀疑某些东西使 FileSystemObject 对象无法正常运行,例如权限,但我检查了其他工作站上的 Office 安全中心,它们都具有与我相同的设置。以下是激活的参考:

  • Visual Basic 应用程序
  • Microsoft Excel 14.0 对象库
  • OLE 自动化
  • Microsoft Office 14.0 对象库
  • Microsoft 脚本运行时

这些也在所有其他机器上被激活。

我能做些什么?明确一点:代码在我自己的工作站上按预期工作。

更新:我让我的一个朋友尝试了它,它在他的 PC 上也可以正常工作。

0 投票
1 回答
341 浏览

iis - 如何使用 VBScript 复制和重命名拆分的 *.rar 档案?

我的服务器上有一个 VB 脚本 (*.vbs),它通过内置的 FileSystemObject 检查是否存在这样的文件......

如果存在,则将文件复制到同一路径中,但重命名为以下内​​容

使用此代码

有时,*.rar 存档可以拆分为多个文件,所以我在文件夹中

如何检查拆分的文件是否也存在,然后将它们重命名在同一位置,例如

0 投票
0 回答
7741 浏览

vba - 使用带有过滤器的 FileSystemObject (VBA)

使用我的代码,我必须编写一个文件名来搜索:“test.txt”。它工作正常,返回与所选路径中存在的 test.txt 一样多。

我希望它能够搜索:“txt”并获取所选路径中的所有 .txt 文件。

我的代码:

和一个提示,我发现了类似的东西:

但我无法让它在我的代码中工作。

谢谢!

0 投票
3 回答
5501 浏览

vbscript - 使用 VBscript 枚举子文件夹属性

这与 Microsoft System Center Configuration Manager 2007 有点相关,但实际上与 VBScript、FileSystemObject API 和读取子文件夹属性有关。

我正在尝试运行一个脚本来枚举我们的一个分发点(包共享下的每个文件夹)上的文件夹和文件夹大小。我正在使用带有 VBscript 的 FileSystemObject API,我可以抓取大约 60% 的子文件夹,并获取它们的名称和大小,但其余的返回“错误 70 / Permission Denied”。我以什么帐户执行脚本并不重要,我尝试在每个子文件夹对象引用之间添加一个 Sleep() 延迟。它仍然不会得到他们所有。

如果我手动浏览这些文件夹,我可以毫无问题地查看它们的属性。这是 FSO 还是 Windows 脚本主机的已知问题?我在下面附上了脚本代码。蒂亚!

0 投票
0 回答
1163 浏览

vb6 - 使用 TriStateUseDefault 时,文件编码是如何确定的

我有一些代码使用 fileSystemObject 打开文件,然后使用 OpenAsTextStream 获取流进行读取。为了处理 ASCII 和 Unicode 文件,我一直使用 TriStateUseDefault (-2) 作为第二个参数。但是我遇到了一个绝对是 ASCII 文件的情况(没有特殊的 2 字节标题来启动文件,没有 BOM)。但该文件似乎被解释为 Unicode。当 OpenAsTextStream 方法通过 TriStateUseDefault 时,它是否会对文件内容进行更“有趣”的检查以尝试猜测文件是否为 Unicode?

例如,问题文件有几行文本,其中一行包含如下内容:“... ^123^....”并将文件视为 Unicode。

当我将该行的文本更改为“...^1234^...”时,FSO 将文件视为 ASCII。

如果 fso 正在猜测编码,是否有办法避免这种猜测错误的极端情况?

另一个注意事项 - 此文件确实具有“扩展 ASCII”字符,包括“刺”字符(ascii 254)。

示例代码:

0 投票
1 回答
2670 浏览

recursion - VBS:递归中的 FileSystemObject 使用

目前,我正在编写一个脚本,该脚本将遍历给定文件夹并搜索具有特定扩展名的所有文件。然后它将打印出名称并汇总文件大小。我相信我已经解决了大部分问题,所以这个问题不是关于如何做到这一点。

相反,我想知道在递归函数中使用 FileSystemObject 流的最佳实践是什么。我应该为所有调用(全局或传递)使用单个流,还是应该为每个递归步骤创建一个新流?

为了额外的乐趣,我计划让这个访问多台 PC,并通过 UNC 路径。是的,我希望有更好的方法来做到这一点,但我对 VBS 比较陌生。

当前代码:

那么,是应该将一个文件流用于所有访问,还是应该每个步骤单独使用一个文件流?这是一个有争议的问题吗?这会导致到每个系统的多个连接还是应该只使用一个?基本上,我希望脚本能够在不干扰用户或引起奇怪响应(即,活动连接用完)的情况下正常工作。该脚本只会在我们正在进行的审计中使用几次,但最终可能会重新用于未来的审计。

让我知道你的想法。谢谢你的帮助,

0 投票
3 回答
29772 浏览

excel - 从pdf(到excel)中提取表格,pref。带 vba

我正在尝试使用 vba 从 pdf 文件中提取表格并将它们导出到 excel。如果一切都按应有的方式进行,它应该是自动的。问题是表格没有标准化。

这就是我到目前为止所拥有的。

  1. VBA (Excel) 运行XPDF,并将当前文件夹中的所有 .pdf 文件转换为文本文件。
  2. VBA (Excel) 逐行读取每个文本文件。

和代码:

这一切都很好。但是现在我要解决从文本文件中提取表格的问题。我想做的是 VBA 找到一个字符串,例如“年收入”,然后将数据输出到列中。(直到桌子结束。)

第一部分不是很困难(找到某个字符串),但是我将如何进行第二部分。文本文件将如下所示 Pastebin。问题是文本没有标准化。例如,有些表有 3 年的列(2010 2011 2012),有些只有两个(或 1 个),有些表在列之间有更多的空间,有些不包括某些行(例如 Capital Asset,net)。

我正在考虑做这样的事情,但不知道如何在 VBA 中进行。

  1. 查找用户定义的字符串。例如。“表一:年复一年。”
  2. 一个。下一行查找年份;如果有两个,我们将需要输出三列(标题 +,2x 年),如果有三个,我们将需要四个(标题 +,3x 年).. 等等
    b。为每年创建标题列+列。
  3. 到达行尾时,转到下一行
  4. 一个。读取文本 -> 输出到第 1 列
    。将空格(空格 > 3?)识别为第 2 列的开始。读取数字 -> 输出到第 2 列。
    c。(如果 column = 3)将空格识别为第 3 列的开头。读取数字 -> 输出到第 3 列
    。(如果 column = 4)将空格识别为第 4 列的开头。读取数字 -> 输出到第 4 列。
  5. 每行,循环 4。
  6. 下一行不包含任何数字 - 结束表。(可能最简单的只是用户定义的数字,15 个字符后没有数字?结束表)

我的第一个版本基于Pdf to excel,但是在线阅读的人不推荐OpenFile而是推荐FileSystemObject(尽管它似乎要慢很多)。

任何让我开始的指针,主要是在第 2 步?

0 投票
2 回答
5259 浏览

ms-access - 移动或删除文件夹中最后一个文件的权限被拒绝

我在一个模块中有一个 MS Access VBA 过程,该模块对特定文件夹中的文件有一个 for each 循环。

在循环内部,我在一个单独的文件夹中创建了一个新文件,然后用循环中文件中的清理数据填充该文件。我将新文件的数据导入 SQL Server 2005 数据库。成功导入后,脚本会删除已清理的文件并尝试将循环中的文件移动(或复制/删除)到同一目录中的存档子文件夹。

文件循环适用于循环文件夹中的所有文件......除了最后一个文件。那是弹出 Permission Denied 错误的时候。

在上述情况下,错误消息总是发生在以下之一(我尝试了几个类似的命令):

这是我的代码:

0 投票
1 回答
64 浏览

excel - 引用 100x2 范围然后打印到文件

我有一个范围,我想在每次迭代时在列之间交替写入文件。我会有 A1 > B1 > A2 > B2 等,举个例子:

现在我将它放在一个文本文件中:

我有以下代码将从我的第一列中获取信息,但我坚持在每次迭代时添加第二列: