Advertisement
Urik_Kane

open_in_VTFEdit_remove

Oct 15th, 2020 (edited)
410
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.08 KB | None | 0 0
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title Remove VTFEdit context menu entries
  4.  
  5. set default_extensions=jpg,jpeg,png,bmp,tga,tiff,psd,gif,eps,webp,bpg,cd5,cpt,kra,mdp,pdn,psp,sai,xcf
  6.  
  7. :check_elevation
  8. net session >nul 2>&1
  9. if not %errorlevel%==0 echo   & echo Error: Must run as administrator. & pause>nul & goto :eof
  10.  
  11. :: exec for all extensions
  12. for %%E in (%default_extensions%) do CALL :CheckKey %%E
  13.  
  14. if "%found%"=="" ( echo  & echo No entries to remove^^! Exiting.& pause>nul & goto :eof) else ( echo Found entries for^: %found%)
  15.  
  16. :hintextensions
  17. echo.
  18. echo Please enter file extensions to remove, divided by comma, lowercase, no dots or just press enter for remove ALL
  19. echo.
  20. :askextensions
  21. set /p extensions="What extensions to delete for (default %found%): "
  22. if not "!extensions!"=="" (
  23.     set "extensions=!extensions: =!"
  24.     for /f "tokens=1 delims=abcdefghijklmnopqrstuvwxyz1234567890," %%A in ('echo !extensions!') do (
  25.         set "extensions=%default_extensions%"
  26.         echo Warning: input incorrect, will use default setting ^(%found%^)
  27.         pause
  28.     )
  29. ) else ( set "extensions=%found%" )
  30.  
  31. :: exec for all extensions
  32. for %%E in (%extensions%) do CALL :DelKey %%E
  33.  
  34. :: results
  35. echo.
  36. echo -------------------------------------------------------
  37. if "!processedcount!"=="" ( echo  No entries to remove ) else ( echo  !processedcount! entries removed: !processed! )
  38. echo -------------------------------------------------------
  39. echo.
  40. pause & goto :eof
  41.  
  42. :CheckKey
  43. reg query "HKCR\SystemFileAssociations\.%1\shell\VTFEdit.open">nul 2>&1 && CALL :LogExtFound %1
  44. goto :eof
  45.  
  46. :DelKey
  47. reg delete "HKCR\SystemFileAssociations\.%1\shell\VTFEdit.open" /f>nul 2>&1 && CALL :LogExtRemoved %1
  48. goto :eof
  49.  
  50. :LogExtRemoved
  51. if "!processedcount!"=="" ( set "processedcount=1" ) else ( set /a "processedcount=!processedcount!+1" )
  52. if "!processed!"=="" ( set "processed=%1" ) else ( set "processed=!processed!,%1" )
  53. goto :eof
  54.  
  55. :LogExtFound
  56. if "!foundcount!"=="" ( set "foundcount=1" ) else ( set /a "foundcount=!foundcount!+1" )
  57. if "!found!"=="" ( set "found=%1" ) else ( set "found=!found!,%1" )
  58. goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement