首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何基于带有部分文件名的文本文件搜索目录和子目录,并将这些文件复制到新目录中

基于带有部分文件名的文本文件搜索目录和子目录,并将这些文件复制到新目录中,可以通过以下步骤实现:

  1. 读取文本文件:首先,使用适当的编程语言(如Python)打开并读取包含部分文件名的文本文件。可以使用文件读取函数(如open()readlines())逐行读取文件内容,并将每行的文件名存储在一个列表中。
  2. 搜索目录和子目录:遍历目标目录及其子目录,使用文件系统操作函数(如os.walk())来搜索文件系统中的目录和子目录。对于每个目录,可以获取其下的所有文件名,并与步骤1中的文件名列表进行匹配。
  3. 复制文件到新目录:对于匹配的文件,使用文件系统操作函数(如shutil.copy())将其复制到新目录中。可以为每个文件生成一个新的目标路径,并使用文件复制函数将文件从原始路径复制到新路径。

以下是一个示例的Python代码,用于实现上述步骤:

代码语言:txt
复制
import os
import shutil

def search_and_copy_files(directory, text_file):
    # 读取文本文件,获取文件名列表
    with open(text_file, 'r') as file:
        file_names = [line.strip() for line in file.readlines()]

    # 遍历目录和子目录,搜索文件并复制到新目录
    for root, dirs, files in os.walk(directory):
        for file in files:
            for name in file_names:
                if name in file:
                    # 构建目标路径
                    source_path = os.path.join(root, file)
                    target_path = os.path.join('新目录路径', file)  # 替换为实际的新目录路径

                    # 复制文件到新目录
                    shutil.copy(source_path, target_path)

# 调用函数进行搜索和复制
search_and_copy_files('目标目录路径', '文件名列表文本文件路径')  # 替换为实际的目标目录路径和文件名列表文本文件路径

请注意,上述代码中的目标路径和文件名列表文本文件路径需要根据实际情况进行替换。此外,还可以根据需要进行错误处理、日志记录等其他功能的添加。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

『一网打尽』 Bash 常用命令,原来如此简单!

例如:ls > tmp.txt 3 >> 两个大于号,作用是取一个命令 STDOUT 位于左方,并将其追加到右方一个或现有文件。...}:创建一个空目录 grep -inr {string}:在当前目录子目录文件搜索一个字符串 column -s, -t :在 columnar 格式展示逗号分隔文件...ssh {username}@{hostname}:连接到远程机器 tree -LhaC 3:向下展示三级目录结构(带有文件大小信息隐藏目录信息) htop (or top):任务管理器...-type f -name *.txt -exec sed -i "s/{find}/{replace}/g" {} ;:替换当前目录子目录下后缀名为.txt 文件一个字符串 tmux new...uniq -c:统计文件独特字(unique words)数量 wc -l :计算文件行数 du -ha:在磁盘上显示目录及其内容大小 zcat :显示压缩文本文件内容

1.2K20

Linux文件操作

2.目录文件浏览、管理及维护 Linux文件系统层次结构:所有的文件目录被组织成以一个根节点开始倒置树状结构。目录存放可以是文件、也可以是其他子目录,而文件存储是真正信息。...对i节点操作:cp命令如何操作inodes:复制文件命令发出时系统要进行如下操作:1.找到一个空闲i节点记录、把新增文件元数据写入该空闲i节点并将这个记录放入inode表  2.还要产生一个目录记录...、并将新增文件名对应到这个空inode号码  3.当做完以上操作之后,系统将文件内容复制到新增文件。...mv命令对inodes操作:移动文件命令发出时系统要进行如下操作:如果源文件与移动后目的位置在同一个文件系统上:1.系统首先产生一个目录、并把文件名对应到源文件i节点2.删除带有文件名原有的目录记录...2.释放存储该文件内容数据块、即将这些数据块标记为可以使用。3.删除记录这个文件名i节点号目录记录。

3.9K60

最常用从A到ZLinux命令,真的很好记,三分钟刷完!

Linux命令行是一个非常强大工具。如果你知道如何利用Linux命令,你可以轻松地在Linux系统执行各种任务。在这篇文章,我们将介绍从A到ZLinux命令。...例如,cd /usr/bin将当前目录更改为/usr/bin。图片cpcp命令允许你复制文件目录。例如,cp file1 file2将file1复制到file2。...例如,du -h命令将以更易读方式显示目录每个子目录文件磁盘空间使用情况。图片findfind命令允许你在文件系统查找文件。...例如,find / -name 'password.txt'将在文件系统查找名为password.txt文件。grepgrep命令允许你在文件搜索指定模式文本。...lsls命令允许你列出目录文件。例如,ls命令将列出当前目录所有文件子目录。图片mkdirmkdir命令允许你创建一个目录

40020

教你怎么用python操作文件

在这篇文章,你将学习如何: 获取文件属性 创建目录 文件名模式匹配 遍历目录树 创建临时文件目录 删除文件目录 复制、移动重命名文件目录 创建和解压ZIPTAR档案 使用fileinput...pathlib.Path() 提供了在 os shutil 中大部分处理文件路径功能,并且它方法比这些模块更加有效。我们将讨论如何快速获取文件属性。...---- 文件名模式匹配 使用上述方法之一获取目录文件列表后,你可能希望搜索特定模式匹配文件。...=True): print(name) 复制代码 这里例子使用了 glob.iglob() 在当前目录子目录搜索所有的 .py 文件。...传递 recursive=True 作为 .iglob() 参数使其搜索当前目录子目录 .py 文件

6.5K20

Linux下常用基本指令

进入当前目录: cd . 复制当前目录文件到另一个目录: cp file.txt . 这将在当前目录创建一个名为file.txt副本。 在当前目录创建一个子目录: mkdir ....在上一级目录创建一个子目录: mkdir ../new_directory 这将在上一级目录创建一个名为new_directory目录。...-\:替换文本 Ctrl-C:显示文件信息统计 Ctrl-R:读取另一个文件并将其插入当前文件 这些命令可以通过在编辑器按对应组合键来执行。.../usr/sbin目录:存放了一些非管理员用户使用系统管理命令。 需要注意是,虽然大多数Linux系统命令都存放在这些目录,但是也可以自定义安装其他软件,并将其可执行文件放在其他目录。...目录切换:在终端中使用cd命令切换目录时,可以输入部分目录名并按下Tab键进行自动补全。 总的来说,Tab键在Linux作用是提高命令行操作效率准确性,避免手动输入命令或文件名错误。

9400

文件系统特殊命令一览表

CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个带有空格但不带有引号子目录名。 dir命令 描述:显示指定属性目录文件。...案例: #1.重命名文件名, 请注意您不能为目标文件指定驱动器或路径 ren 原文件名 新文件名 ren test TestRen copy 命令 描述:将一份或多份文件复制到另一个位置 COPY...可以用在模式也可以指定 "$env:pattern" "path:pattern" 格式; 其中"env" 是环境变量,搜索是在 "env" 变量指定路径执行 补充: 这些格式不应该跟 /...将搜索字符串作为一般表达式使用 /S 在当前目录所有子目录搜索匹配文件 /I 指定搜索不分大小写 /X 打印完全匹配行 /V...#查找当前目录子目录文件内容包含某字符串文件名 findstr /ms "hello" * #10.

3.7K30

初学者如何快速上手Linux命令,这34条新手必会命令一定得会!

ls命令有好多参数可以使用,在用时候可以提高好多效率: ls -R列出子目录所有文件 ls -a显示隐藏文件 ls -al将列出文件目录以及权限、大小、所有者等详细信息。...2)并将它们输出存储在一个新文件 (3) 要将文件转换为大写或小写,请使用cat 文件名 | tr az AZ >输出 avc -> AVC AVC -> Avc 5.cp命令 cp命令将文件从当前目录复制到其他目录...6.mv 命令 mv命令主要用途是移动文件,也可用于重命名文件。 mv 参数类似于 cp 命令,您需要输入mv、文件名目标目录。例如:mv setup.sh /opt/tmp。...find也可以搜索文件目录,不同之处在于,您使用find命令在给定目录查找文件。...例如,find /opt/ -name java命令将在主目录及其子目录搜索名为java文件。 还有其他用法: 要在当前目录查找文件,请使用find .

1.5K31

文件系统特殊命令一览表

CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个带有空格但不带有引号子目录名。 dir命令 描述:显示指定属性目录文件。...案例: #1.重命名文件名, 请注意您不能为目标文件指定驱动器或路径 ren 原文件名 新文件名 ren test TestRen copy 命令 描述:将一份或多份文件复制到另一个位置 COPY...可以用在模式也可以指定 "$env:pattern" "path:pattern" 格式; 其中"env" 是环境变量,搜索是在 "env" 变量指定路径执行 补充: 这些格式不应该跟 /...将搜索字符串作为一般表达式使用 /S 在当前目录所有子目录搜索匹配文件 /I 指定搜索不分大小写 /X 打印完全匹配行 /V...#查找当前目录子目录文件内容包含某字符串文件名 findstr /ms "hello" * #10.

3K32

路径,文件目录,IO常见操作汇总

主要内容:     一、路径相关操作, 如判断路径是否合法,路径类型,路径特定部分,合并路径,系统文件夹路径等内容;     二、相关通用文件对话框,这些对话框可以帮助我们操作文件系统文件目录...;     三、文件目录、驱动器操作,如获取它们基本信息,获取设置文件目录属性,文件版本信息,         搜索文件目录文件判等,复制、移动、删除、重命名文件目录;     四、...这时可以考虑使用Path.GetFileName方法获得        其包含文件名,如果一个路径不为空,而文件名为空那么它表示目录,否则表示文件;     问题3: 如何获得路径某个特定部分(如文件名...:获取目录目录,返回类型为DirectoryInfo;     问题6:如何获取指定目录包含文件子目录;     解决方案:     DirectoryInfo.GetFiles():获取目录...这些事件都在其FileSystemEventArgs参数中提供了相关文件信息:如文件名,路径,改变类型,Renamed事件还可以了解到改变前文件名路径。

1.5K40

DOS命令:copy

/A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。/D 允许解密要创建目标文件 destination 为新文件指定目录/或文件名。 /V 验证新文件写入是否正确。...\\test\tool\3.txt D: 即可将tool文件夹下3.txt下载到本地D盘 注:这里D:\ D: 在后面不跟子目录时作用是一样。...[4] 例举说明 例子1:要将文件Memo.doc复制到当前目录Letter.doc。...例子3:要将位于当前驱动器的当前目录Mar89.zip、Apr89.zip以及May89.zip合并,并将它们放在当前驱动器的当前目录下名为Report文件。...例子6:COPY命令将每个带有.txt扩展名文件和它对应.ref文件合并起来。结果是文件名相同但扩展名为.doc文件

1.9K20

初学机器学习你,是否掌握了这样Linux技巧?

例如:ls > tmp.txt 3 >> 两个大于号,作用是取一个命令 STDOUT 位于左方,并将其追加到右方一个或现有文件。...}:创建一个空目录 grep -inr {string}:在当前目录子目录文件搜索一个字符串 column -s, -t :在 columnar 格式展示逗号分隔文件...ssh {username}@{hostname}:连接到远程机器 tree -LhaC 3:向下展示三级目录结构(带有文件大小信息隐藏目录信息) htop (or top):任务管理器...-type f -name '*.txt' -exec sed -i "s/{find}/{replace}/g" {} \;:替换当前目录子目录下后缀名为.txt 文件一个字符串 tmux new...uniq -c:统计文件独特字(unique words)数量 wc -l :计算文件行数 du -ha:在磁盘上显示目录及其内容大小 zcat :显示压缩文本文件内容

1.2K110

汇总:Linux文件管理50个命令

diff以逐行方式,比较文本文件异同处。所是指定要比较目录,则diff会比较目录相同文件名文件,但不会比较其中子目录。...Linux mread命令 Linux mread命令用于将MS-DOS文件复制到Linux/Unix目录。 mread为mtools工具命令,可将MS-DOS文件复制到Linux文件系统。...rcp指令用在远端复制文件目录,如同时指定两个以上文件目录,且最后目的地是一个已经存在目录,则它会把前面指定所有文件目录复制到目录。...Linux whereis命令 Linux whereis命令用于查找文件。 该指令会在特定目录查找符合条件文件这些文件应属于原始代码、二进制文件,或是帮助文件。...Linux scp命令 Linux scp命令用于Linux之间复制文件目录。 scp是 secure copy缩写, scp是linux系统下基于ssh登陆进行安全远程文件拷贝命令。

1.6K60

探索Linux世界:初次接触基本指令(文件操作)

例如,* 表示可执行普通文件,/ 表示目录,@ 表示符号链接,| 表示 FIFOs(命名管道),= 表示套接字(sockets) 如果在使用 ls 命令时不指定目录文件名,它将默认列出当前工作目录文件子目录...表示上级目录,因此路径指向当前目录上一级目录 images 目录 picture.jpg 文件 文件路径目录路径 路径可以是文件路径或目录路径,具体取决于路径最后一部分是指向文件还是目录。...这些手册页通常提供有关如何使用系统调用以及调用所需文件信息。 第三章(3):库函数 包含了 C 库函数手册页,这些函数由标准 C 库提供。...这些文件代表设备,手册页描述了如何这些设备文件进行交互。 第五章(5):文件格式 包含有关文件格式手册页。这包括配置文件、数据文件等,如 /etc/passwd,其中说明了文件各字段含义。...功能: 复制文件目录 cp指令用于复制文件目录,如同时指定两个以上文件目录,且最后目的地是一个已经存在目录, 则它会把前面指定所有文件目录复制到目录

17710

Linux文件操作命令

(3)特殊字符隐藏文件 以“.”开头文件都是隐藏文件 如果必须使用特殊字符作为文件名部分,可以使用反斜杠\屏蔽这些字符特殊含义。...Directory:复制文件位置,如果此参数是一个目录名,则将文件复制到位置时重命名文件 【示例】: (1)复制并重命名文件 将/etc/samba/smb.conf备份到当前目录,...并将文件名重命名为:smb.conf_backup # cp /etc/samba/smb.conf smb.conf_backup (2)制作光盘镜像 为当前光驱光盘制作镜像 # cp /dev.../cdrom linux.ise (3)复制目录 如果要复制目录还存在子目录,则可能会发生错误,使用R选项递归复制子目录目录test复制到目录file # cp -R test file...f: 忽略删除目录不存在子目录,并且删除时不提示用户() 【示例】: (1)删除文件ab,删除时系统会要求用户确认 # rm ab (2) 删除目录目录所有文件子目录

6.2K41

findstr 用法

——当命令成功而搜索失败时(某些中文字符搜索,类似 /I 参数),可以试试这个参数。 /S 在当前目录所有子目录搜索匹配文件。——这个没啥说搜索程序所在目录所有位置。.../l/r:望高手补充 /s:在当前目录所有子目录搜索匹配文件,与通配符搭配功能强大,如 findstr /s “test” *.txt 会搜索当前目录其所有子目录文本文件,打印出含有字符串...时对搜索结果文件名部分指定颜色属性,具体颜色值参见color帮助: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 浅绿色 B = 淡浅绿色.../f:从指定文件文件列表,事先可以将待搜索文件放在一个文本文件,每个文件放在一行,findstr命令在执行时会到文本文件中去找这些搜索文件,假如当前目录下有一文本文件list.txt内容如下.../m:如果文件含有匹配项,只打印其文件名,而且还会打印路径,意思很好理解,如: findstr /s /m “123” *.txt 会找出当前目录其所有子目录中含有字符串”123″文本文件,结果

2.8K20

Linux常用命令

Linux简介 Linux是目前应用最广泛服务器操作系统,基于Unix,开源免费,由于系统稳定性安全性,市场占有率很高,几乎成为程序代码运行最佳系统环境。...,父目录不存在情况下先生成父目录 cp cp 1.txt 复制文件目录 -r cp -r dir1/ 递归处理,将指定目录文件子目录一并拷贝 mv mv dir1 dir2 移动文件目录...删除空目录 cat cat 1.txt 显示文本文件内容 more more 1.txt 分页显示文本文件内容,可前后翻页,空格向后,b向前 less less 1.txt 分页显示文本文件内容...压缩过程显示文件 -f 使用档名,在 f 之后要立即接档名 修改目录下所有文件子目录所属用户组,用数字来表示权限(r=4,w=2,x=1,-=0)| linux系统常用快捷键及符号命令...1.txt grep 'hello' 管道命令,以前一个命令输出作为输入,然后进行运算,例:打印1.txt带有hello字符串行 * 通配符,指所有

1.1K21

Find命令-Linux系统搜索利器

1.Motivation ---- 搜索查找是管理文件系统常用操作,虽然动作逻辑本质上是匹配,很简单,但搜索也有很多种花样,可以用来加速搜索,快速提取想要内容 最简单搜索:你想递归遍历从当前目录下所有子目录以及子目录文件...,得以了解这个目录组织结构 基于文件名搜索:你想递归搜索从当前目录下所有拥有特定文件名或者后缀文件 基于文件路径搜索:你想递归搜索从当前目录下所有拥有特定路径名路径 文件名反向排除搜索:你不知道目标文件可能是什么但可以确定目标文件绝不是什么...:如果一个目录体积很大,你想要知道在这个目录哪些文件是大文件 基于文件权限搜索:对可读、可写、可执行以及用户访问差异来搜索文件 搜索并对结果执行一系列命令:繁琐任务自动化 2.Explanation...#从当前目录开始递归遍历所有子目录以及下面的文件,打印出来 基于文件名搜索: find ....-mtime +10 -name "*.txt" -exec cp {} OLD \; #从当前目录开始向下递归搜索10天以前修改过txt文件并将他们复制到OLD文件 find .

1.5K50
领券