在批处理脚本中使用通配符复制变量文件名的问题
Issues Using Wildcard in Batch-script to Copy a Variable File Name
我的流程:
为了版本控制,我所有的文件都以"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 "\myUNCPath\Live Environment\fileName_v*.accdb" "%DestinationFolder%\copiedFile.accdb"
我的问题:
到目前为止,我已经对每个版本的 "fileName_v#.#.accdb" 进行了硬编码,并且代码执行完美。第二个我删除了硬编码文件版本并添加了“*”通配符,代码错误。复制功能仍然运行,但只是在用户桌面上创建一个空的 .accdb 文件,使用时会出现错误:
"Unrecognized database format"
在这一点上,我想得太多了,让它变得比需要的更难。对这个问题有新的看法会很有帮助。任何帮助将不胜感激!
@aschipfl - 成功了!感谢评论。
只需在复制行中添加“/b”即可解决问题。
copy /-y /b
(有关更多详细信息,请参阅问题下方发布的 achipfl 评论)。
我的流程:
为了版本控制,我所有的文件都以"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 "\myUNCPath\Live Environment\fileName_v*.accdb" "%DestinationFolder%\copiedFile.accdb"
我的问题:
到目前为止,我已经对每个版本的 "fileName_v#.#.accdb" 进行了硬编码,并且代码执行完美。第二个我删除了硬编码文件版本并添加了“*”通配符,代码错误。复制功能仍然运行,但只是在用户桌面上创建一个空的 .accdb 文件,使用时会出现错误:
"Unrecognized database format"
在这一点上,我想得太多了,让它变得比需要的更难。对这个问题有新的看法会很有帮助。任何帮助将不胜感激!
@aschipfl - 成功了!感谢评论。
只需在复制行中添加“/b”即可解决问题。
copy /-y /b
(有关更多详细信息,请参阅问题下方发布的 achipfl 评论)。