在源文件夹中有 3 个文件:
a.csv
b.csv
a.csv_backup
我希望只*.csv
复制a.csv
,b.csv
但它a.csv_backup
也会复制。
代码:
Dim oFso As New Scripting.FileSystemObject
oFso.CopyFile "c:\temp\*.csv" "d:\temp\"
您会遇到这样一个事实,即每个文件都有一个“短名称”(旧的 DOS 8.3 标准),以便与真正的旧软件(其中一些仍在使用)兼容。您的文件a.csv_backup
也有另一个名称(可能类似于a~1.csv
尽管它可能是关于任何东西),它只使用扩展名的前三个字母。您可以运行dir /x
以查看每个长名称旁边的短名称。
进一步阅读:
就解决方案而言,您要么需要您的备份扩展不共享您正在搜索的前三个字符(所以使用类似的东西.backup_csv
),或者您需要禁用系统上的短名称(这可能会破坏旧的应用程序)。