问题标签 [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.
vbscript - 尝试在 VBScript 中使用 Shell 对象和 FileSystemObject 进行文件操作
我正在尝试递归循环数百个目录和数千个 JPG 文件,以收集按日期对新文件夹中的文件进行排序。到目前为止,我能够使用 Shell NameSpace 对象单独 GetDetailsOf 文件,并且我还能够使用 FileSystemObject 递归循环遍历目录。但是,当我尝试将它们放在函数等中时,当我尝试从照片中获取 DateTaken 属性时,我什么也得不到。
到目前为止,这是我的代码:
vba - (VBA) 与其他站点上的 CreateTextFile 相关的运行时错误 76
晚上好,
我已经尝试修复这个错误几个小时了,但没有运气。这尤其令人沮丧,因为该错误不会在我自己的工作站上表现出来,而是在其他每个人的工作站上表现出来。代码的目的是创建(FileSystemObject -> CreateTextFile)两个 .txt 文件,并将特定信息写入(TextStream)每个文件中。以下是相关的代码行:
我确定声明的文件路径存在于经过测试的机器上。我怀疑某些东西使 FileSystemObject 对象无法正常运行,例如权限,但我检查了其他工作站上的 Office 安全中心,它们都具有与我相同的设置。以下是激活的参考:
- Visual Basic 应用程序
- Microsoft Excel 14.0 对象库
- OLE 自动化
- Microsoft Office 14.0 对象库
- Microsoft 脚本运行时
这些也在所有其他机器上被激活。
我能做些什么?明确一点:代码在我自己的工作站上按预期工作。
更新:我让我的一个朋友尝试了它,它在他的 PC 上也可以正常工作。
iis - 如何使用 VBScript 复制和重命名拆分的 *.rar 档案?
我的服务器上有一个 VB 脚本 (*.vbs),它通过内置的 FileSystemObject 检查是否存在这样的文件......
如果存在,则将文件复制到同一路径中,但重命名为以下内容
使用此代码
有时,*.rar 存档可以拆分为多个文件,所以我在文件夹中
如何检查拆分的文件是否也存在,然后将它们重命名在同一位置,例如
vba - 使用带有过滤器的 FileSystemObject (VBA)
使用我的代码,我必须编写一个文件名来搜索:“test.txt”。它工作正常,返回与所选路径中存在的 test.txt 一样多。
我希望它能够搜索:“txt”并获取所选路径中的所有 .txt 文件。
我的代码:
和一个提示,我发现了类似的东西:
但我无法让它在我的代码中工作。
谢谢!
vbscript - 使用 VBscript 枚举子文件夹属性
这与 Microsoft System Center Configuration Manager 2007 有点相关,但实际上与 VBScript、FileSystemObject API 和读取子文件夹属性有关。
我正在尝试运行一个脚本来枚举我们的一个分发点(包共享下的每个文件夹)上的文件夹和文件夹大小。我正在使用带有 VBscript 的 FileSystemObject API,我可以抓取大约 60% 的子文件夹,并获取它们的名称和大小,但其余的返回“错误 70 / Permission Denied”。我以什么帐户执行脚本并不重要,我尝试在每个子文件夹对象引用之间添加一个 Sleep() 延迟。它仍然不会得到他们所有。
如果我手动浏览这些文件夹,我可以毫无问题地查看它们的属性。这是 FSO 还是 Windows 脚本主机的已知问题?我在下面附上了脚本代码。蒂亚!
vb6 - 使用 TriStateUseDefault 时,文件编码是如何确定的
我有一些代码使用 fileSystemObject 打开文件,然后使用 OpenAsTextStream 获取流进行读取。为了处理 ASCII 和 Unicode 文件,我一直使用 TriStateUseDefault (-2) 作为第二个参数。但是我遇到了一个绝对是 ASCII 文件的情况(没有特殊的 2 字节标题来启动文件,没有 BOM)。但该文件似乎被解释为 Unicode。当 OpenAsTextStream 方法通过 TriStateUseDefault 时,它是否会对文件内容进行更“有趣”的检查以尝试猜测文件是否为 Unicode?
例如,问题文件有几行文本,其中一行包含如下内容:“... ^123^....”并将文件视为 Unicode。
当我将该行的文本更改为“...^1234^...”时,FSO 将文件视为 ASCII。
如果 fso 正在猜测编码,是否有办法避免这种猜测错误的极端情况?
另一个注意事项 - 此文件确实具有“扩展 ASCII”字符,包括“刺”字符(ascii 254)。
示例代码:
recursion - VBS:递归中的 FileSystemObject 使用
目前,我正在编写一个脚本,该脚本将遍历给定文件夹并搜索具有特定扩展名的所有文件。然后它将打印出名称并汇总文件大小。我相信我已经解决了大部分问题,所以这个问题不是关于如何做到这一点。
相反,我想知道在递归函数中使用 FileSystemObject 流的最佳实践是什么。我应该为所有调用(全局或传递)使用单个流,还是应该为每个递归步骤创建一个新流?
为了额外的乐趣,我计划让这个访问多台 PC,并通过 UNC 路径。是的,我希望有更好的方法来做到这一点,但我对 VBS 比较陌生。
当前代码:
那么,是应该将一个文件流用于所有访问,还是应该每个步骤单独使用一个文件流?这是一个有争议的问题吗?这会导致到每个系统的多个连接还是应该只使用一个?基本上,我希望脚本能够在不干扰用户或引起奇怪响应(即,活动连接用完)的情况下正常工作。该脚本只会在我们正在进行的审计中使用几次,但最终可能会重新用于未来的审计。
让我知道你的想法。谢谢你的帮助,
excel - 从pdf(到excel)中提取表格,pref。带 vba
我正在尝试使用 vba 从 pdf 文件中提取表格并将它们导出到 excel。如果一切都按应有的方式进行,它应该是自动的。问题是表格没有标准化。
这就是我到目前为止所拥有的。
- VBA (Excel) 运行XPDF,并将当前文件夹中的所有 .pdf 文件转换为文本文件。
- VBA (Excel) 逐行读取每个文本文件。
和代码:
这一切都很好。但是现在我要解决从文本文件中提取表格的问题。我想做的是 VBA 找到一个字符串,例如“年收入”,然后将数据输出到列中。(直到桌子结束。)
第一部分不是很困难(找到某个字符串),但是我将如何进行第二部分。文本文件将如下所示 Pastebin。问题是文本没有标准化。例如,有些表有 3 年的列(2010 2011 2012),有些只有两个(或 1 个),有些表在列之间有更多的空间,有些不包括某些行(例如 Capital Asset,net)。
我正在考虑做这样的事情,但不知道如何在 VBA 中进行。
- 查找用户定义的字符串。例如。“表一:年复一年。”
-
一个。下一行查找年份;如果有两个,我们将需要输出三列(标题 +,2x 年),如果有三个,我们将需要四个(标题 +,3x 年).. 等等
b。为每年创建标题列+列。 - 到达行尾时,转到下一行
-
一个。读取文本 -> 输出到第 1 列
。将空格(空格 > 3?)识别为第 2 列的开始。读取数字 -> 输出到第 2 列。
c。(如果 column = 3)将空格识别为第 3 列的开头。读取数字 -> 输出到第 3 列
。(如果 column = 4)将空格识别为第 4 列的开头。读取数字 -> 输出到第 4 列。 - 每行,循环 4。
- 下一行不包含任何数字 - 结束表。(可能最简单的只是用户定义的数字,15 个字符后没有数字?结束表)
我的第一个版本基于Pdf to excel,但是在线阅读的人不推荐OpenFile
而是推荐FileSystemObject
(尽管它似乎要慢很多)。
任何让我开始的指针,主要是在第 2 步?
ms-access - 移动或删除文件夹中最后一个文件的权限被拒绝
我在一个模块中有一个 MS Access VBA 过程,该模块对特定文件夹中的文件有一个 for each 循环。
在循环内部,我在一个单独的文件夹中创建了一个新文件,然后用循环中文件中的清理数据填充该文件。我将新文件的数据导入 SQL Server 2005 数据库。成功导入后,脚本会删除已清理的文件并尝试将循环中的文件移动(或复制/删除)到同一目录中的存档子文件夹。
文件循环适用于循环文件夹中的所有文件......除了最后一个文件。那是弹出 Permission Denied 错误的时候。
在上述情况下,错误消息总是发生在以下之一(我尝试了几个类似的命令):
这是我的代码:
excel - 引用 100x2 范围然后打印到文件
我有一个范围,我想在每次迭代时在列之间交替写入文件。我会有 A1 > B1 > A2 > B2 等,举个例子:
现在我将它放在一个文本文件中:
我有以下代码将从我的第一列中获取信息,但我坚持在每次迭代时添加第二列: