首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xcopy查找和复制文件

使用xcopy查找和复制文件
EN

Stack Overflow用户
提问于 2015-10-21 11:15:59
回答 2查看 2.2K关注 0票数 1

xcopy支持*通配符,甚至允许您克隆整个目录结构。我的项目使用了我需要分发的这些Qt库:

代码语言:javascript
复制
Qt5CLucene.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Help.dll
Qt5Multimedia.dll
Qt5Network.dll
Qt5PrintSupport.dll
Qt5Sql.dll
Qt5Svg.dll
Qt5Widgets.dll
Qt5Xml.dll
Qt5XmlPatterns.dll

它们并不都在Qt安装中的同一个目录中,列表可能会更改,特别是添加。因此,我想使用通配符/*/在目录树中的任何位置找到一个文件:

代码语言:javascript
复制
C:\Qt\5.3.0-64> xcopy ".\*\%NAME%.dll" "%~dp0\release"

它不起作用,文件找不到。这是完整的代码:

代码语言:javascript
复制
C:
cd C:\Qt\5.3.0-64\ 

For %%a in (
  "Qt5CLucene"
  "Qt5Core"
  "Qt5Gui"
  "Qt5Help"
  "Qt5Multimedia"
  "Qt5Network"
  "Qt5PrintSupport"
  "Qt5Sql"
  "Qt5Svg"
  "Qt5Widgets"
  "Qt5Xml"
  "Qt5XmlPatterns"
  ) do (
xcopy ".\**\%%~ad.dll" "%~dp0\debug"
)

因此,我是否可以避免键入完整的路径(例如。( qtbase\bin\Qt5CLucene)在批次中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-21 11:36:15

尝试这样做(xcopy可以问您是否想要创建目录-拷贝被使用):

代码语言:javascript
复制
For /r "C:\Qt\5.3.0-64\" %%a in (
  "*Qt5CLucene.dll"
  "*Qt5Core.dll"
  "*Qt5Gui.dll"
  "*Qt5Help.dll"
  "*Qt5Multimedia.dll"
  "*Qt5Network.dll"
  "*Qt5PrintSupport.dll"
  "*Qt5Sql.dll"
  "*Qt5Svg.dll"
  "*Qt5Widgets.dll"
  "*Qt5Xml.dll"
  "*Qt5XmlPatterns.dll"
) do (
   copy /y "%~fa" "%~dp0\debug"
)
票数 1
EN

Stack Overflow用户

发布于 2015-10-21 11:34:43

如果我正确理解了您的意思,您希望将C:\Qt\5.3.0-64\ -folder中的所有*.dll文件复制到脚本文件文件夹的调试子文件夹中。

你可以试试这样的方法:

代码语言:javascript
复制
:: Start of your *.bat or *.cmd file
FOR /R C:\Qt\5.3.0-64\ %%a IN (*.dll) DO (
   xcopy "%%~a" "%dp~0debug\"
)
:: End of your *.bat or *.cmd file
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33257912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档