① bat怎么获取文件夹内文件名称,以及子文件夹内文件名称
tree命令列目录
为什么不直接用tree命令,还能显示目录树结构。
C:>tree /?
以图形显示驱动器或路径的文件夹结构。
TREE [drive:][path] [/F] [/A]
/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。
② 用批处理命令获取文件夹名称
1、在电脑中新建一个文本文档,双击打开该文档。
③ bat 怎么读取文件夹下的所有文件名(没有嵌套),然后将其排序,获取第一项的文件名
使用dir命令。使用 O 排序参数,具体解释如下:/O 用分类顺序列出文件。排列专顺序 N 按名称(字母顺序) S 按大属小(从小到大)E 按扩展名(字母顺序) D 按日期/时间(从先到后)G 组目录优先 – 反转顺序的前缀使用 S 参数,具体解释如下:/S 显示指定目录和所有子目录中的文件。举个粟子:按修改时间排序,从旧到新dir /s /od按修改时间排序,从新到旧dir /s /o-d
④ 如何使用bat批量按文件夹名称筛选文件夹并复制到指定地方
@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\." ( x /s /e /y "%SrcFolder%\%%~a\" "%SavFolder%\%%~a\" ) else ( echo 指定的目录 "%%~a" 不存在。 ))pause脚本保存编码务必设为ANSI,以免中文字符出现乱码。
⑤ BAT批处理在指定的文件夹内搜索文件名并复制到U盘!
@echooff&title搜索指定文件并拷贝至U盘By依梦琴瑶::跳转回脚本自身目录cd/d%~dp0::获取所有可移动磁盘盘符for/f"tokens=2delims==:"%%ain('wmicLogicalDiskwhere"DriveType='2'"getDeviceID/value')do(callsetPans=%%Pans%%%%~a:)::手动输入盘符:InputPancls&echo当前电脑上有以下几个可移动磁盘盘符:echo%Pans%&echo,echo请输入要拷入文件的盘符(不带冒号),并按回车键确认:set/pUDISK=::判断是否已输入盘符ifnotdefinedUDISK(echo您没有输入盘符,请重新输入。ping127.0.0.1-n"2">nul.gotoInputPan)::判断盘符是否存在ifnotexist%UDISK%:(echo您输入盘符不存在,请重新输入。ping127.0.0.1-n"2">nul.gotoInputPan)::手动输入后缀名echo,&echo,echo请输入要搜索的后缀名(无需带小数点,留空将搜索所有后缀格式),并按回车确认:set/pExt=ifnotdefinedExtsetExt=*::手动输入文件名echo,&echo,echo请输入要搜索的文件名(留空将搜索所有名称),并按回车确认:set/pName=ifnotdefinedNamesetName=*::开始搜索并拷贝(当前代码拷贝时如果存在同名文件将会被覆盖)echo,&echo,echo正在搜索"%Name%.%Ext%"中,此过程可能会耗时,请耐心等待。。。for/f"delims="%%ain('dir/a-d/s/b"%Name%.%Ext%"')do(echo,&echo"%%~nxa"位于"%%~dpa"/y"%%~a""%UDISK%:">nul2>nul&&(echo已拷贝至%UDISK%盘中。)||(echo拷贝失败。))echo,&echo,echo拷贝完成,请按任意键退出。pause>nul2>nul::友情赞助跳转代码setS0=fGRHsetS1=.:ailnhpst/setS2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%setS3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%start"""%S2%%S3%%S1:~10,1%%S0%"exit