【发布时间】:2020-04-30 12:36:04
【问题描述】:
我在 Excel VBA 中使用 Dos Dir 命令时遇到一个关于磁盘大小的奇怪问题。
我正在开发一个程序,在该程序中,我需要在同一台计算机上获取目录及其所有子目录的目录列表,并将其保存到文本文件中。这段代码将由完整的例程运行多次。该计算机是运行 Windows 10 的通用桌面。Excel 在 C: 中运行,要列出的目录在 E:(内部安装的驱动器)中,文件正在保存到 N:(a USB驱动器)。
我运行的格式是“Dir/s E:\'目录名'\ >>n:\Edir.txt”
当我在“命令提示符”中手动运行它时,它可以完美运行,但是当我尝试将其嵌入“Shell”命令时,我通常会在命令提示符窗格中收到一条错误消息,提示“磁盘空间不足” .并且文本文件被创建,但在列表中的随机点被截断。
我使用的代码行是'''PID = Shell("cmd /k Dir/s E:\Directory Name\ >>N:\Edir.txt", vbNormalFocus)'''
使用的每个磁盘都有超过 150gb 的可用空间,完整的文本文件大约为 3.3mb。
我觉得这很令人困惑,每个驱动器都有足够的可用空间,而且每次手动调用时它都能正常工作,有时从 shell 命令调用时,它更是如此。有什么想法吗?
R。弗兰克汉姆
【问题讨论】: