在批处理脚本中使用通配符复制变量文件名的问题



我的流程:

对于版本控制,我的所有文件都以"fileName_v#.#"格式命名

我保留了一个名为"Live Environment"的文件夹,随着新版本的推出,当前文件(例如fileName_v1.0)将从"Live Environment(实时环境)"文件夹中删除,而新版本(例如fileName_v2.0)将移动到"Live Environment[实时环境]"中。

我的批处理脚本用于让所有用户都使用最新版本。它运行得很好,除了每个版本我都需要返回并将脚本中的硬编码文件名更新为新文件名。

我想使用通配符在该文件夹中搜索"Live Environment"文件夹中的任何文件,然后执行复制功能

当前代码:

::Sets the default install location as the user's desktop
set "DestinationFolder=%userprofile%desktop"
::Copies and saves file to the user's Desktop
copy /-y "\myUNCPathLive EnvironmentfileName_v*.accdb" "%DestinationFolder%copiedFile.accdb"

我的问题:

到目前为止,我已经为每个版本硬编码了"fileName_v#.#.accdb",代码执行得很好。第二次我删除了硬编码的文件版本,并添加了"*"通配符,即代码错误。复制功能仍然运行,但只是在用户桌面上创建一个空的.accdb文件,使用该文件时会出现错误:

"无法识别的数据库格式"

在这一点上,我想得太多了,让它变得比需要的更难。对这个问题有一个新的看法会很有帮助。如有任何帮助,我们将不胜感激!

@aschipfl-成功了!谢谢你的评论。

只需在复制行中添加"/b"即可解决问题。

copy /-y /b

(更多详细信息,请参阅aschipfl在问题下方发布的评论)。

最新更新