如何使用bat批量按文件夹名称筛选文件夹并复制到指定地方?
看图
第一步,把所有文件夹给他压缩成文件,用文件吗作为文件
第二步,用咕嘎批量文件查找,根据清单名复制到指定的地方
第三步,查找出来的文件,批量解压就可以了
单纯操作文件夹复制会冲突,变个办法,操作文件就可以了
分六步
第一步、加载文件
第二步、复制文件清单到左边文本框
第三步、设置保存路径
第四步、操作的方式选择复制
第五步、文件名相同查找
第六步、查找
文件就可以按照你的方式自动的归纳到指定保存的文件夹
rem 根据一个txt文本文件内列出的文件名称前缀字符,从一个指定目录里查找出符合条件的子文件夹并拷贝/复制到另一个指定目录里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "oldfolder=D:\xxx\原文件夹"
set "newfolder=E:\yyy\新文件夹"
set "txtfille=***.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
@echo off & title 根据列表复制文件夹到指定位置 By 依梦琴瑶
::设置文件夹列表文件
set List=FolderList.txt
::设置主源目录
set SrcFolder=D:\源目标目录
::设置指定保存目录
set SavFolder=E:\最终保存目录
for /f "delims=" %%a in ('type "%List%"') do (
if exist "%SrcFolder%\%%~a\." (
xcopy /s /e /y "%SrcFolder%\%%~a\" "%SavFolder%\%%~a\"
) else (
echo 指定的目录 "%%~a" 不存在。
)
)
pause
脚本保存编码务必设为ANSI,以免中文字符出现乱码。
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为***.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=***.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
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为***.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=***.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
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为***.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=***.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
如何使用bat顺序运行多个程序
用 start 命令 在批处理中写 start \/min "g:g"这儿的\/min是最小化运行 不需要可以忽略 双引号(英文符号)里是指待运行的程序或目录路劲 例:echo off start \/min "C:\\Windows\\System32\\taskmgr.exe"start "d:temp"exit 这段就是最小化启动任务管理器(其实不需要路劲可以直接打taskmgr的,...
用BAT按顺序启动多个EXE
因为你打开每一个程序,这个程序会读取它目录内的SERVERINFO.TXT 与SERVERTABLE.XTX,由于cmd.exe默认是在C:\\Documents and Settings\\Administrator文件夹下运行的,你的程序就会去C:\\Documents and Settings\\Administrator文件夹下找上面所述的两个文件,当然就会显示找不到。要解决的话需要把默认的cmd.exe...
bat批量处理txt,按要求删除文件内容
echo offset fn=20180509.csvset outfile=20180509.dat(for \/f "tokens=1-4 delims=," %%i in ('type "%fn%"') do (echo %%i,,%%k,%%j,%%l))>"%outfile%"
如何用bat批处理文件执行一个命令?
当你双击一个BAT文件或在命令行中调用它时,Windows会自动打开命令行窗口,并按照文件中命令的顺序执行它们。这使得批处理文件成为自动化重复任务或简化复杂命令序列的强大工具。要在BAT文件中执行一个命令,你只需要按照该命令在命令行中的形式,将其写入批处理文件即可。例如,如果你想创建一个批处理文件...
bat文件怎么运行?
PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这...
求问怎么使用bat批处理选择启动光盘中的多个程序之一
echo offcolor f5mode con: cols=60 lines=20set f1=1.exeset f2=2.exeset f3=3.exe:mclsecho.echo. 提示:echo. ===echo. 1 习文echo.echo. 2 练武echo.echo. 3 游戏echo. ===echo.set\/p ch= 请输入选择序号:echo %ch%|findstr\/ix [1-3]>nul||goto :...
如何用bat文件无限弹出消息框?
1、首先新建一个文本文档,在里面输入::123 start cmd.exe goto 123 2、点击保存按键,对这个文本文档更改为.bat为后缀,如果看不到软件后缀的可以按进入我的电脑,选择工具—文件夹选项—查看—隐藏文件夹类型扩展名;3、系统会提示是否更改后缀名,按“是”就变成文本文档图标有螺纹状。
bat中如何批量运行exe文件?
start "" "D:\\Program Files\\Tencent\\QQ.exe"start D:\\CrossFire\\CrossFire.exe 路径中有空格的按第一排写,加上引号(注意除了路径要引起来外,前面还有一对引号);路径没有空格的按第二排写;每个需要启动的程序写一行,就可以同时启动多个程序。
BAT里批量修改文本文件里的内容!
for \/f "delims=" %%a in ('type "%%~fi"') do (set "foo=%%a"call,set foo=%%foo:1234=4311 call,echo\/%%foo%%>>"%%~fi._")move "%%~fi._" "%%~fi")exit 3、然后点击选择编辑页面左上角文件中的“另存为”。4、然后在弹出来的窗口中,将文件名的后缀更改成“.bat” ,选择...
如何把几个BAT文件按顺序一键启动
再写个bat文件。然后加入到系统启动栏当中。就可以了
慕变抗衰: 打开命令行提示符(快捷键 win + r 完了,输入cmd,回车) 使用cd命令切换到你要显示文件夹名字的上级目录,完了使用下面一条命令,可以将文件夹下面所有目录的名字输入到一个文件中. dir 目标文件夹路径 /AD /B > 目的文件例如: dir D: /AD /B > C:file.txt 该命令的意思是将D盘下面的所有目录列出来输入到C盘根目录下的file.txt文件中. 解释一下/AD和/B这俩参数的意思,/AD是仅列出当前目录下的目录文件名,/B是不带目录的创建日期.之后就是打开这个文本文件复制粘贴到excel中就是咯.如果还不会,追问俺,我给你录个gif给你瞅瞅
望谟县19381656330: 求bat代码,批量按照文件夹名字并顺序命名文件夹中最底层文件 - ?
慕变抗衰: 批处理文件放aa bb 文件夹并列位置执行,代码为测试代码,如果显示正确,把有一行前面的rem去掉再运行就会重命名了 @echo off set n=1000 for /d %%i in (*)do ( setlocal enabledelayedexpansion for /f "delims=" %%j in ('dir/b/s/a-d "%%i\"')do ( set/a n+=1 echo %%j =^> %%i!n:~-3!%%~xj rem ren "%%j" "%%i!n:~-3!%%~xj" ) endlocal) pause
望谟县19381656330: 如何用BAT查找一个文件夹,并把其路径记下来 - ?
慕变抗衰: @echo off for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do ( echo 正在查找A文件夹路径 if exist %%a:\ ( cd /d %%a:\ for /f "delims=" %%b in ('dir /s /b /ad a') do ( cd /d "%%b" ::以下是你要在A文件夹执行的命令 echo.A文件夹路径是...
望谟县19381656330: 怎么用bat文件筛选文件名 - ?
慕变抗衰: @echo off&setlocal enabledelayedexpansion(for /r %%i in (*.jpg)do (set ".=%%~nxi"&if "!.:~8,1!"=="" echo %%~nxi))>1.txt start 1.txt 这个可以了,只要是前面只有4个数字的照片就可以列入到1.txt中~ PS:如果是要完整路径,将echo %%~nxi改成echo %%i即可~
望谟县19381656330: 批处理bat 获得指定目录内的文件夹名称 - ?
慕变抗衰: 1、在电脑中新建一个文本文档,双击打开该文档.2、在页面中输入:@Echo off dir /b>test.txt,在off位置开始切换到第二行.3、选择文本文档的“文件”选项点击“另存为”,将新建文档改名为“复制文件名称.bat”.4、即可生成批处理文件,并将其拖入需要提取文件名的文件夹中.5、双击打开批处理程序,在文件夹中就会出现一个“test”的TXT文档.6、打开后即可看到页面中已经将文件夹的名称提取出来了.
望谟县19381656330: Bat批处理:批量重命名包含指定名称文件夹里的指定文件 - ?
慕变抗衰: 1. 单一的重命名,代码如下:@echo off rename D:\111\111.txt 222.txt pause2. 批量的重命名,请根据你的命名规则使用for循环即可.代码如下:@echo off cd /d D:\ if exist 111.txt ( if not exist D:\111\ md 111 copy 111.txt 111\222.txt del 111.txt ...
望谟县19381656330: bat批处理获得指定目录内的某个文件夹名称 - ?
慕变抗衰: @echo off rem 获取来指定自目录下指定名2113称文5261件所在的文4102件夹名 set #=Any question&set $=Q&set/az=0x53b7e0b4 title %#% +%$%%$% %z% cd /d "%~dp0" set "folder=E:\a1" set "file=AA.TXT" for /f "delims=" %%a in...
望谟县19381656330: 如何利用bat命令搜索电脑所有盘符内指定文件,并改名然后解压到当前目录 - ?
慕变抗衰: @echo off & title 批量搜索,重名,解压指定文件 By 依梦琴瑶::设置rar.exe所在目录 set RarDir=%ProgramFiles%\WinRAR set Path=%Path%;%RarDir%::设置指定文件 set File=yunml.xml::设置盘符 set Pan=C D E F G H I J K L M N O P ...
望谟县19381656330: 如何利用批处理命令生成文件名清单? - ?
慕变抗衰: 一、首先进入我们需要列出文件名的文件夹,在其目录里任意建立一个txt文本文件,比如笔者建议了一个演示.txt文件,如下图: 在文件夹目录下新建一个记事本文件二、然后我们打开这个新建的记事本,然后在里边键入以下代码(大家可以...
望谟县19381656330: 如何利用bat文件批量修改文件名 - ?
慕变抗衰: 方法: 在当前目录下新建两个批处理文件:createsrc.bat和rename.bat.createsrc.bat文件内容如下: dir /a-d /b *.rmvb>src.txt echo 收集文件名成功! pause 功能:将当前目录下的所有扩展名为.rmvb的文件的文件名都导入到src.txt文件中...