开发者社区 问答 正文

将文件从一个文件夹复制到另一个文件夹,同时在命令提示符下匹配来自输入文件的字符串

我需要使用Windows命令提示符将n个文件从源目录复制到目标目录,文件名位于FilePattern.txt中,如下所示,其中包含类似的名称(每行一个文件名模式)


_12234_
_23456_
_1234_

源目录中的文件名

temph_12234_3456_fdss.pdf
abcdg_23456_456y_hello.pdf
yixsw_1234_56_adf.pdf
antoherfile_123_45_ghf.pdf

以下文件应复制到“目标文件夹”中

temph_12234_3456_fdss.pdf
abcdg_23456_456y_hello.pdf
yixsw_1234_56_adf.pdf

展开
收起
Puppet 2019-12-16 16:15:11 737 分享 版权
阿里云 AI 助理回答

要在Windows命令提示符下完成这个任务,你可以编写一个批处理脚本,结合使用for /F循环读取文件名模式,然后用xcopyrobocopy命令来复制匹配的文件。下面是一个简单的示例脚本:

  1. 创建批处理脚本:首先,在源目录旁边创建一个批处理文件(例如copy_files.bat),并用文本编辑器打开它。

  2. 编写脚本内容:在批处理文件中输入以下命令:

@echo off
setlocal enabledelayedexpansion

REM 设置源目录和目标目录
set "sourceDir=源目录的路径"
set "targetDir=目标目录的路径"
set "filePatternList=FilePattern.txt"

REM 读取文件名模式并复制文件
for /F "tokens=*" %%A in (%filePatternList%) do (
    echo Looking for files matching %%A in %sourceDir%
    for /R "%sourceDir%" %%F in (*%%A*) do (
        echo Copying "%%F" to "%targetDir%"
        xcopy "%%F" "%targetDir%" /Y
    )
)

echo Done.
endlocal

请将源目录的路径目标目录的路径替换为实际的目录路径。

  1. 保存并运行脚本:保存批处理文件后,在命令提示符窗口中切换到该批处理文件所在的目录,并运行它。例如,如果批处理文件位于桌面上,你可以在命令提示符中输入cd %USERPROFILE%\Desktop来切换到桌面目录,然后输入copy_files.bat来执行脚本。

这个脚本会遍历FilePattern.txt中的每一行作为文件名模式,查找源目录及其子目录下所有匹配该模式的文件,并将其复制到指定的目标目录中。/Y参数用于在复制时覆盖现有文件而不提示确认。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: