使用目录上的通配符从文件夹复制内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用目录上的通配符从文件夹复制内容相关的知识,希望对你有一定的参考价值。

我有一个目录,其中包含需要移动到另一个目录的CSV文件:

C:UsersJohnSmithDesktopTesting
eport-20180819040000-20180826040000-4

我们每周都会收到一个新文件,目录名称中的日期将会更新。我想创建一个批处理文件来使用report*上的通配符复制这些数据,但我遇到了一些问题。

当我第一次导航到通配符时,通配符似乎没有任何问题:

C:UsersJohnSmithDesktopTesting

然后使用:

dir report*

当我导航到以下时,它也可以正常工作:

C:UsersJohnSmithDesktopTesting

然后运行

copy * C:UsersJohnSmithDesktopTestingDestination

我的目标是能够在我的批处理文件中运行简单的操作,如下所示:

copy C:UsersJohnSmithDesktopTesting
eport* C:UsersJohnSmithDesktopTestingDestination

每当我尝试运行上述内容时,都会收到以下错误:

该系统找不到指定的文件。 0个文件被复制

有没有人有什么建议?

答案

使用带有通配符的For /D作为目录名,然后你也可以使用带有通配符的Copy

从命令提示符:

For /D %A In ("%UserProfile%DesktopTesting
eport-*-*-*") Do @Copy "%A*.csv" "%UserProfile%DesktopTestingDestination">Nul 2>&1

从批处理文件:

@For /D %%A In ("%UserProfile%DesktopTesting
eport-*-*-*") Do @Copy "%%A*.csv" "%UserProfile%DesktopTestingDestination">Nul 2>&1

或者,您可以直接在Powershell提示中执行此操作:

Cp "$($Env:UserProfile)DesktopTesting
eport-*-*-**.csv" "$($Env:UserProfile)DesktopTestingDestination"

以上是关于使用目录上的通配符从文件夹复制内容的主要内容,如果未能解决你的问题,请参考以下文章

将通配符文件名从主包复制到文档?

python通过通配符复制文件

使用 pig 命令从目录中复制所有文件

Linux基础

使用 bash 脚本批量重命名 FTP 服务器上的文件

Linux文件和目录管理