【问题标题】:Copying of file using .bat使用 .bat 复制文件
【发布时间】:2018-07-26 08:38:51
【问题描述】:

我编写了以下代码并尝试将所有文​​件复制到该位置。以下行在我将其粘贴到 cmd 时有效,但在批处理文件中无效:

for %I in (*.m) do (copy /Y %I "%appdata%\Math\include")
pause

请让我知道我缺少什么?

我试图从这里遵循答案:Can I copy multiple named files on the Windows command line using a single "copy" command?
但对我没用。请分享您的建议。

【问题讨论】:

  • 百分比翻倍,@For %%I In (*.m) Do @Copy /Y "%%I" "%AppData%\Math\include"虽然你真的不需要For 循环,Copy /Y *.m "%AppData%\Math\include".

标签: windows batch-file command


【解决方案1】:

您可以只使用copyxcopy

copy /y *.m newDir

但是,如果newDir 不存在copy 将创建一个名为newDir 的文件

为避免使用xcopy /i 代替:

xcopy /y /i *.m newDir

要包含子目录,请使用xcopy /s:

xcopy /y /i /s *.m newDir

or shorter:

xcopy /yis *.m newDir

还有较新的Robocopy

【讨论】:

  • 是的,我明白了。但是如果情况发生变化并且我需要复制多个 I 类型的扩展文件怎么办?这就是我尝试使用这种循环方法的原因。
  • @JafferWilson 喜欢for %I in (com bat exe) do copy "*.%I" ""%appdata%\Math\include"
  • @JafferWilson 对于多个扩展,您确实可以使用循环或多个 xcopy 命令。
猜你喜欢
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
相关资源
最近更新 更多