3

在源文件夹中有 3 个文件:

  • a.csv
  • b.csv
  • a.csv_backup

我希望只*.csv复制a.csvb.csv但它a.csv_backup也会复制。

代码:

Dim oFso As New Scripting.FileSystemObject
oFso.CopyFile "c:\temp\*.csv" "d:\temp\"
4

1 回答 1

4

您会遇到这样一个事实,即每个文件都有一个“短名称”(旧的 DOS 8.3 标准),以便与真正的旧软件(其中一些仍在使用)兼容。您的文件a.csv_backup也有另一个名称(可能类似于a~1.csv尽管它可能是关于任何东西),它只使用扩展名的前三个字母。您可以运行dir /x以查看每个长名称旁边的短名称。

进一步阅读:

就解决方案而言,您要么需要您的备份扩展不共享您正在搜索的前三个字符(所以使用类似的东西.backup_csv),或者您需要禁用系统上的短名称(这可能会破坏旧的应用程序)。

于 2018-07-13T17:55:06.267 回答