一、需求分析 一个目录下有好多文件,扩展名为bak,我想用批处理实现列表显示当前目录下的文件,并提供给用户一个选择, 如显示 1:a.bak 2:b.bak 3:c.bak 当用户按1则能知道用户选择的a.bak,如果用户按3则知道用户选择的c.bak 二、代码使用注意 不要把下面的批处理放在目标文件夹内,生成的临时列表文件也不要制定存放在目标文件夹内。 三、代码 @echo off rem 设置查询的路径 set sp=c:\\test rem 设置临时存放列表的文件 set tf=c:\\tmpList.txt rem 列举查询路径下的所有文件并加上编号后写入临时存放列表的文件 dir /b /a-d %sp%|findstr /N ".">%tf% :Lstart cls set fcount=0 set fstate=NO rem 在屏幕上显示出编号的列表,获取文件列表最大数值 for /f %%a in (%tf%) do ( echo %%a set /
一、需求分析 一个目录下有好多文件,扩展名为bak,我想用批处理实现列表显示当前目录下的文件,并提供给用户一个选择, 如显示 1:a.bak 2:b.bak 3:c.bak 当用户按1则能知道用户选择的a.bak,如果用户按3则知道用户选择的c.bak 二、代码使用注意 不要把下面的批处理放在目标文件夹内,生成的临时列表文件也不要制定存放在目标文件夹内。 三、代码 @echo off rem 设置查询的路径 set sp=c:\test rem 设置临时存放列表的文件 set tf=c:\tmpList.txt rem 列举查询路径下的所有文件并加上编号后写入临时存放列表的文件 dir /b /a-d %sp%|findstr /N ".">%tf% :Lstart cls set fcount=0 set fstate=NO rem 在屏幕上显示出编号的列表,获取文件列表最大数值 for /f %%a in (%tf%) do ( echo %%a set /a fcount+=1 ) echo. set /p fn=请选择文件编号(按X退出): if /i "%fn%" equ "x" goto :eof rem 判断选择的数值是否在范围内,如果不在就跳转重新输入,按X退出 if "%fn%" leq "%fcount%" (if "%fn%" geq "1" (set fstate=OK)) if %fstate% neq OK goto :Lstart rem 判断输入的编号并从列表中得到相应的文件名显示出来 for /f "tokens=1,2 delims=:" %%e in (%tf%) do ( if "%%e" equ "%fn%" (echo.&echo.&echo 你选择了文件: %%f)
(责任编辑:admin)标签: 巧用 批处理 代码 实现 某个 文件 查找 生成 列表
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!