Dzwebs.Net

撰写电脑技术杂文十余年

通过批处理命令查找某种扩展名的文件并生成列表

Admin | 2009-5-4 19:05:54 | 被阅次数 | 8694

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  一、需求分析

  一个目录下有好多文件,扩展名为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)
  )


该杂文来自: 网络知识杂文

上一篇:详细介绍通过远程桌面连接控制远程服务器的操作方

下一篇:突破用户权限查看本机IP地址的最简单最快速的方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计