Welcome, guest | Sign In | My Account | Store | Cart
@echo off
  setlocal
    ::restore batch code
    if "%1" equ "/fix:me" (
      call:fix
      echo.::not_indexed>>"%~dpnx0"
      goto:eof
    )
    ::checking index marker
    for /f "tokens=* delims=:" %%i in ('findstr "^::" "%~dpnx0"') do (
      if "%%i" equ "not_indexed" (
        ::removing not_indexed flag
        call:fix
        ::building database
        for /f "tokens=*" %%i in ('mountvol ^| findstr /r /c::\\$') do (
          2>nul dir %%i /s /b >> "%~dp0index.db"
          2>nul dir %%i /a:h /s /b >> "%~dp0index.db"
        )
        ::storing index into batch
        1>nul copy /a "%~dpnx0"+"%~dp0index.db" "%~dpnx0"
        ::removing index file
        del /f /q "%~dp0index.db"
      )
    )
    if "%1" neq "" (
      for /f "tokens=*" %%i in ('findstr /i /r /c:%1 "%~dpnx0"') do if exist "%%i" echo %%i
    )
    ::breaking, do not start fixme
    goto:eof
  :fix
    for /f "tokens=* delims=" %%i in ('mountvol^
     ^| findstr /v /b /i /r /c:[a-z]:\\ /c::: "%~dpnx0"') do echo.%%i>>source.tmp
    move /y source.tmp "%~dpnx0"
  endlocal
exit /b
::not_indexed

History