@rem cls

@rem echo off

@rem echo "Starting exe search"

@set skip=0

@set sd=%systemdrive%
@rem echo "sd = %sd%"
@set sr=%systemroot%
@rem echo "sr = %sr%"
@set pd=%programdata%
@rem echo "pd = %pd%"
@set pf=%programfiles%
@rem echo "pf = %pf%"

@set fn=%1

@find ".exe" %fn% >fname.txt

@set msc = ""

:start

@rem echo "Start"

@set loop=100

@rem echo "loop = %loop%"

@rem echo "FN = %fn%"

@rem echo "fname.txt ="
@rem type fname.txt
@rem echo "end of fname.txt"

@set fname=

@set _fname=

@rem echo "Fn = %fn%"

@set skip=2

@for /f "skip=2 delims=" %%j in (fname.txt) do @set fname=%%j

:100

@rem echo "100"

@rem echo "skip = %skip%"

@rem echo "Fname = %fname%"

@rem pause

@rem echo 1
@if exist "%fname%" goto good
@rem echo 2
@if "%fname%" == "" goto again
@rem echo 3
@if "%fname:~0,3%" == "C:\" goto bad
@rem echo 4
@if "%fname:~0,3%" == "D:\" goto bad
@rem echo 5
@if %loop% == 100 goto 200
@rem echo 6
@if %loop% == 200 goto 300
@rem echo 7
@if %loop% == 300 goto 400

:again

@rem echo "again"

@if %skip% == 3 goto bad

@set skip=3

@for /f "skip=3 delims=" %%j in (fname.txt) do @set fname=%%j

@set loop=100

@goto 100

:good

@rem echo "Good"

@if /i "%fname:~0,32%" == "%sr%\system32\rundll32.exe" goto rundll

:stillgood

@echo .
@echo "%fn% exists and retained"

@del fname.txt > nul

@rem pause

@exit /b


:bad

@rem echo "Bad"

@if "%fname%" == "" goto msc

:badagain

@echo .
@echo "%fn% does not exist and deleted".

@rem pause

@del %fn%

@del fname.txt > nul

@exit /b


:rundll

@rem echo "rundll"

@set _dll = %fname:~0,32%

@rem echo "_dll = %_dll%"

@find ".dll" %fn% >fname.txt
@rem -------------------------- type fname.txt ---------------------------------
@rem type fname.txt

@for /f "skip=1 delims=" %%j in (fname.txt) do @set fname=%%j

@rem echo "fname = %fname%"

@rem pause

@goto 100


:msc

@rem echo "msc"

@if "%msc%" == "true" goto badagain

@rem echo "Starting msc search"

@find ".msc" %fn% >fname.txt

@set msc = "true"

@rem pause

@goto start


:200

@rem echo "200"

@set loop=200

@if "%fname%" == "" goto 100

@rem Check for %windir%
@if /i "%fname:~1,6%" == "windir" set _fname=%sr%%fname:~8,80%

@rem Check for %SystemRoot%
@if /i "%fname:~1,10%" == "systemroot" set _fname=%sr%%fname:~12,80%

@if /i "%fname:~0,7%" == "Windows" set _fname=%sd%\%fname:~0,80%

@rem Check for %ProgramFiles%
@if /i "%fname:~1,12%" == "programfiles" set _fname=%pf%%fname:~14,80%

@if /i "%fname:~0,13%" == "Program Files" set _fname=%sd%\%fname:~0,80%

@rem echo "_fname = %_fname%"

@if "%_fname%" neq "" set fname=%_fname%

@goto 100


:300

@rem echo "300"

@set loop=300

@if "%fname%" == "" bad2

@rem echo Delete the character 'á' if it exists

@set result=%fname:~1%

@set fname=%result%

@goto 100


:400

@rem echo "400"

@set loop=400

@if "%fname%" == "" goto 100

@rem Check for %windir%
@if /i "%fname:~1,6%" == "windir" set _fname=%sr%%fname:~8,80%

@rem Check for %SystemRoot%
@if /i "%fname:~1,10%" == "systemroot" set _fname=%sr%%fname:~12,80%

@if /i "%fname:~0,7%" == "Windows" set _fname=%sd%\%fname:~0,80%

@rem Check for %ProgramFiles%
@if /i "%fname:~1,12%" == "programfiles" set _fname=%pf%%fname:~14,80%

@if /i "%fname:~0,13%" == "Program Files" set _fname=%sd%\%fname:~0,80%

@rem echo "_fname = %_fname%"

@if "%_fname%" neq "" set fname=%_fname%

@goto 100
