首页 > 解决方案 > 如何将文件复制到带有通配符的Windows路径?

问题描述

我是 Windows 操作系统的新手。如果您觉得这是一个菜鸟问题,请原谅我的问题。

我正在尝试将文件从一条路径复制到另一条路径。问题是目标路径中有一个通配符。如何复制?我认为这是一项简单的任务,但事实并非如此。

这是命令

copy *.zip "C:\MyCave\iso\SDG\cmpdir\copy test\ab\cd\*\gh"

之后的文件夹ab\cd是动态的。所以我尝试使用通配符,但这会引发错误。

The filename, directory name, or volume label syntax is incorrect.
        0 file(s) copied.

我想复制gh路径中目录中的文件。

怎么做?

问候

标签: windowscmdcopy

解决方案


我会提供这种方法。

For /D %G In ("C:\MyCave\iso\SDG\cmpdir\copy test\ab\cd\*") Do @For %H In ("%G\gh") Do @If "%~aH" GEq "d" Copy /Y "*.zip" "%~H" 1>NUL

要开始了解该命令的作用,请打开命令提示符窗口,键入for /?,按ENTER键,然后阅读显示的信息。你也应该使用and来做同样的事情If /?Copy /?

第一部分For /D %G In ("FilePath\*")将作为%G位于FilePath. (其中每一个都是您的动态/未知目录名称)

下一部分使用另一个循环来测试每个未知目录,并附加您已知的目录名称。该循环的结果返回为%H,然后检查directory 属性,如果为真,则使用它执行复制命令。

请注意,如果有多个动态目录名称包含名为 的子目录gh,您的.zip文件将被复制到每个目录。


推荐阅读