Board logo

标题: 批处理查找的量词问题 [打印本页]

作者: dosz     时间: 2009-4-6 11:02    标题: 批处理查找的量词问题

批处理查找的量词问题
希望在代码中加入显示查找到的量词
要二种方法 1,跟据for 2,跟据%sheet%.txt文件行数减1
@echo off
cls
:loop
set filename=
set/p filename=请输入要查找的文件名(支持通配符,如"*.mp3 mp3.*"):
if not defined filename (cls & if errorlevel 1 cls&msg * dosz 提示:输入了错误的命令,这是为什么呢~,是否想忽悠?&goto loop)
echo.
set/p sheet=请输入要写入例表的文件名:┗┛可选项(不要扩占名)
set num=
ECHO ☆☆☆ %DATE% %time% ☆☆☆>%temp%\%sheet%.txt
set drv= C D E F G H I J K L M N O P Q R S T U V W X Y Z
for %%a in (%drv%) do  (
         if exist %%a:\nul (
               cls&echo 正在搜索 %%a: 盘下的 %filename% ...
                   dir>nul 2>nul /s/b/a/o "%%a:\%filename%" >>%temp%\%sheet%.txt&&set num=1
              )
      )
if "%num%" == "1" (
@mode con cols=120
cls&echo.&echo.
color 1f
echo =========== 为你找到下列文件: "%filename%" 并保存到“%temp%\%sheet%.txt”文件中  ================
title 快速打开文件
echo.
for /f "delims=" %%i in (%temp%\%sheet%.txt) do echo %%i
) else (cls&echo.&echo.&echo ***** 没有找到文件: "%filename%" *****&pause>nul&GOTO :EOF)
start %temp%\%sheet%.txt
pause

作者: dosz     时间: 2009-4-11 05:48
深度论坛liuss的提示下获得代码如下:
@echo off
for /f "delims=" %%a in (list.txt) do set/a n+=1
:: for /f "delims=" %%a in (list.txt) do set/a n+=1为list.txt文件的总行数。
set/a n=%n%-1
:: set/a n=%n%-1为去掉(echo %date% %time% >list.txt)写入日期的一行。
echo 查找到的文件总数为:%n% >>list.txt
pause