如何使用bat批量按文件夹名称筛选文件夹并复制到指定地方?

一个文件夹内有上多个文件夹,文件夹命名规则为:序号+_+******,文件夹内均有文件,需要根据特定的多个序号(在一个list.txt内或.xls的某一列内)筛选与文件名... 一个文件夹内有上多个文件夹,文件夹命名规则为:
序号+_+******,文件夹内均有文件,需要根据特定的多个序号(在一个list.txt内或.xls的某一列内)筛选与文件名序号相符的文件夹并复制到指定文件夹。
比如文件名18_武12345、19_武12346、20_武1256、34_武12657、56_武1234,LIST.TXT中给出数字 19、20、34,则运行BAT后将19_武12346、20_武1256、34_武12657复制到指定文件夹
展开
 我来答
全部告诉你
2022-04-30 · 用简单的工具解决麻烦的问题,提高工作效率
全部告诉你
采纳数:44 获赞数:447

向TA提问 私信TA
展开全部

如图,先将文件夹批量进行压缩包处理

然后用咕嘎批量文件查找复制出来到指定地方,再批量的加压缩文件夹

二级文件夹可以采用这种方式操作

就是文件夹内文件夹再文件夹多级的不行哈,

qop_dob
2022-02-07 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3966万
展开全部
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off&cd /d "%~dp0"
rem 根据一个txt文本文件内列出的文件名称前缀字符,从一个指定目录里查找出符合条件的子文件夹并拷贝/复制到另一个指定目录里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "oldfolder=D:\xxx\原文件夹"
set "newfolder=E:\yyy\新文件夹"
set "txtfille=list.txt"
if not exist "%oldfolder%" (echo;"%oldfolder%" 未找到&pause&exit)
if not exist "%newfolder%" md "%newfolder%"
if not exist "%txtfille%" (echo;"%txtfille%" 未找到&pause&exit)
if "%oldfolder:~-1%" equ "\" set "oldfolder=%oldfolder:~,-1%"
if "%newfolder:~-1%" equ "\" set "newfolder=%newfolder:~,-1%"
for /f "delims=" %%a in ('type "%txtfille%"') do (
    for /f "delims=" %%b in ('dir /ad-h/b "%oldfolder%\%%a_*" 2^>nul') do (
        echo;"%oldfolder%\%%~nxb" --^> "%newfolder%"
    )
)
echo;%#% +%$%%$%/%_% %z%
pause
exit
追问
提示list.txt文件找不到,但是我是和批处理一起放在待处理的文件夹下的啊
追答

按运行后窗口标题栏中的提示联系我

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式