批处理/cmd如何复制名称特定的文件?

Posted

技术标签:

【中文标题】批处理/cmd如何复制名称特定的文件?【英文标题】:Batch/cmd how to copy name specific files? 【发布时间】:2020-01-30 19:26:56 【问题描述】:

我正在尝试复制以KBSMPP*.pdf 命名的 pdf 文件,就像在 Linux 中一样。该文件也可以有更多的字符串,但它仍然是一个 pdf,例如KBSMPP_____.pdf

我有很多文件,文件命名为:

KBSMPP1.pdf
KBSMPP345.pdf
KBSMPPKL.pdf

我不知道它是如何工作的。如何搜索特定的名称文件?

我的批处理代码是:

xcopy "C:\Users\Manfred\Documents\KBSMPP*.pdf" "H:\Users\Hendrik\Documents\Frames"

我尝试过的另一个例子:

ROBOCOPY "C:\Users\Manfred\Documents\KBSMPP*.*pdf" H:\Users\Hendrik\Documents\Frames "KBSMPP*.pdf"

【问题讨论】:

您的问题是什么? (你得到了什么,它与你想要的有什么不同?)。顺便说一句:robocopy 有不同的语法。见robocopy /? 我编辑它。希望你能更好地理解它。 当前代码遇到了什么问题? 当前的问题是我不知道如何将许多以KBSMPP命名的文件复制到其他设备。我只想要以标签KBSMPP* 开头的文件。这些文件KBSMPP1.pdf KBSMPP345.pdf KBSMPPKL.pdf. 好的,那么当您尝试运行您提供的示例时发生了什么? 【参考方案1】:

有几种方法。

使用复制:

Copy "C:\Users\Manfred\Documents\KBSMPP*.pdf" "H:\Users\Hendrik\Documents\Frames\"

使用 Robocopy:

ROBOCOPY "C:\Users\Manfred\Documents" "H:\Users\Hendrik\Documents\Frames" KBSMPP*.pdf /MT:32 /B

使用 FOR 循环,您可以粘贴到 cmd 提示符中:

FOR %A IN ( "C:\Users\Manfred\Documents\KBSMPP*.pdf") DO (
  COPY "%fa" "H:\Users\Hendrik\Documents\Frames\" )

【讨论】:

谢谢大家。现在它起作用了,这是语法问题。 我还有一个问题,它是另一种文件类型。但这与 pdf 不同。这个文件类型是.CATDrawing我只想复制18个文件到另一个设备。 @H4rdJ3ash,​​要了解如何使用cmd.exe 内置的copy 命令,打开命令提示符窗口,输入copy /?,然后按回车键;您需要的所有信息都在其中。只要您没有从%PATH% 和/或%PATHEXT% 中删除重要条目,您就应该能够使用Robocopy /?xcopy /? 重复该过程。如果有可能修改了这些变量,那么使用"%__AppDir__%Robocopy.exe" /?"%__AppDir__%xcopy.exe" /? 可能会更安全。

以上是关于批处理/cmd如何复制名称特定的文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取具有特定驱动器名称的驱动器的驱动器号? [关闭]

cmd中bat遍历文件夹下所有文件,并进行特定操作

如何使用bat批处理或cmd,:将一个文件复制为“多个副本“(增量备份,自动重命名)到指定目录

如何一次读取一个字符的字符串或文件并将该字符的 ASCII 值分配给 CMD 批处理中的变量? [复制]

在使用 CMD 启动的进程内运行命令

cmd根据文件名创建文件夹并移动文件到创建的文件夹内