Board logo

标题: 查找全部的快截图标是否有效.bat [打印本页]

作者: vkill     时间: 2007-3-9 01:51    标题: 查找全部的快截图标是否有效.bat


@echo off&setlocal enabledelayedexpansion
title 查找全部的快截图标是否有效
set "temp_=temp_.txt
cd.>"%temp_%"
for /f "tokens=*" %%! in ('fsutil fsinfo drives^|find /v " "') do (
    for %%? in (%%!) do (
        fsutil fsinfo drivetype %%?|find /v /i "CD-ROM" >nul 2>nul&&(set var=!var!%%!;)
                        )
                                                                   )

for %%? in (%var%) do (
echo 正在验证%%?盘所有的*.lnk,请稍等...
   for /f "tokens=*" %%! in ('dir /a-d/s/b %%?*.lnk 2^>nul') do (
      for /f "tokens=*" %%+ in ('type "%%!"^|more^|findstr "^[a-zA-Z]:\\\\"') do (
          if "%%i*"=="*" (>>"%temp_%" echo %%!,无效) else (if not exist "%%i" (>>"%temp_%" echo %%!,无效))
                                                                                 )
                                                                )
                       )
echo ok
echo 请打开%temp_%查看无效的快截图标
pause>nul

作者: electronixtar     时间: 2007-3-9 02:15
不错,顶~
作者: lxmxn     时间: 2007-3-9 05:41
  原创作品,顶了再说~
作者: vkill     时间: 2007-3-9 06:12
xp  怎么和 2003 fsutil fsinfo drives^|find /v " "显示的不一样那?
作者: dikex     时间: 2007-3-9 06:39
没有在2003里面试过,但在xp下面fsutil fsinfo drives显示的每一行后面都是00这个结束符,不是一般文本的0D 0A这个换行,可能在2003下面微软已经改会了0D 0A这个换行