VB脚本列出文件夹和内容

时间:2014-08-05 01:14:11

标签: vbscript

我想编写一个VB脚本:

列出名为“abc”的所有文件夹,以及共享驱动器\ share1

中的内容

目前名为“abc”的这些文件夹位于\ share1中的所有位置,但它们都具有相同的名称。

我遇到的问题是其中一些路径是长路径,因此通过PowerShell进行此操作非常困难,因为它一直达到260的限制。

3 个答案:

答案 0 :(得分:2)

使用\\?\前缀路径允许最多32,000个字符的路径。这允许应用程序在大多数程序崩溃时选择使用非常长的文件名。现在,它取决于如果组件允许您访问文件功能的方式。 CMD支持这一点。

所以命令行

for /f %A in ('dir c:\windows\abc /s /b /ad') do dir "\\?\%A"

\\?\也适用于unc路径。

for /f %A in ('dir \\?\c:\windows\abc /s /b /ad') do dir "%A"

答案 1 :(得分:0)

我认为RoboCopy(Windows实用程序)是您最好的选择。这可以处理长路径名,它实际上可以用来列出文件,而不是复制它们,方法是使用 /L option(:仅限列表 - 不要复制,添加时间戳或删除任何文件。)

http://ss64.com/nt/robocopy.html提供了所有选项的完美摘要。

您也可以为它下载一个GUI,这可能会使它更容易使用。

答案 2 :(得分:0)

另一个选择是通过subst缩短路径:

subst X: C:\very\...\long\...\path