echo
@echo off
if not "%1"=="" goto skip
cls
echo *
echo REGedit_EXT.BAT V1.1 副檔名程式關聯登錄器 (2013/05/02)
echo *
echo author : Mike Wang
echo Blog : http://blog.xuite.net/tools241/blog
echo 用法1 : 在任意 "資料夾" 執行本批次檔(自行輸入) : REGedit_EXT.BAT
echo 用法2 : 在 "應用程式" 所在之 "資料夾" 執行本批次檔
echo CALL REGedit_EXT.BAT 應用程式路徑(.表示目前) 應用程式名(不含.EXE) 要建立關聯的副檔名 圖標檔檔名 產生的REG檔檔名(可省略)
echo ********
echo USAGE1 : regedit_ext.bat
echo USAGE2 : regedit_ext Application_path App_name extension ICOfile REGfile
echo Example1: regedit_ext.bat . PotPlayerMini F4V PotIcons.dll,0 f4v.REG
echo Example2: regedit_ext.bat . WordReader DOCX DOCX.ico docx.REG
echo ********
echo *
if "%1"=="" echo 請輸入應用程式完整路徑(example: D:\WordReader )
if "%1"=="" SET /P c_d=Application_path:
:skip
if not "%1"=="" set c_d=%1
if "%c_d%"=="." set c_d=%cd%
if not "%2"=="" set Application_name=%2
if "%2"=="" SET /P Application_name=請輸入應用程式名(不含.EXE, example: WordReader ) Application_name:
if not "%3"=="" set ext=%3
if "%3"=="" SET /P ext=請輸入要建立關聯的副檔名( example: DOCX ) extension:
if "%4"=="" SET /P ico=請輸入圖標檔檔名(若按Enter則命名為%ext%.ico) ICOfilename:
if not "%4"=="" SET ico=%4
if "%ico%"=="" set ico=%ext%.ico
if "%1"=="" SET /P reg=產生的 *.REG 檔檔名(若按Enter則不留檔) REGfilename:
if not "%5"=="" set reg=%5
if "%reg%"=="" set reg=tmp.reg
REM get app_PATH , :
for /f "tokens=1 delims=\" %%i in ("%c_d%") do set app_PATH=%%i
for /f "tokens=1,2 delims=\" %%i in ("%c_d%") do set j=%%j
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3 delims=\" %%i in ("%c_d%") do set j=%%k
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3,4 delims=\" %%i in ("%c_d%") do set j=%%l
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3,4,5 delims=\" %%i in ("%c_d%") do set j=%%m
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3,4,5,6 delims=\" %%i in ("%c_d%") do set j=%%n
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3,4,5,6,7 delims=\" %%i in ("%c_d%") do set j=%%o
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3,4,5,6,7,8 delims=\" %%i in ("%c_d%") do set j=%%p
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=\" %%i in ("%c_d%") do set j=%%q
if not "%j%"=="" set app_PATH=%app_PATH%\\%j%
echo Windows Registry Editor Version 5.00 > "%reg%"
echo [HKEY_CLASSES_ROOT\.%ext%] >> "%reg%"
echo @="%Application_name%.%ext%" >> "%reg%"
echo [HKEY_CLASSES_ROOT\%Application_name%.%ext%] >> "%reg%"
echo @="%Application_name%" >> "%reg%"
echo [HKEY_CLASSES_ROOT\%Application_name%.%ext%\DefaultIcon] >> "%reg%"
echo @="%app_PATH%\\%ico%" >> "%reg%"
echo [HKEY_CLASSES_ROOT\%Application_name%.%ext%\shell] >> "%reg%"
echo [HKEY_CLASSES_ROOT\%Application_name%.%ext%\shell\open] >> "%reg%"
echo [HKEY_CLASSES_ROOT\%Application_name%.%ext%\shell\open\command] >> "%reg%"
echo @="%app_PATH%\\%Application_name%.exe %%1" >> "%reg%"
if not "%reg%"=="" if exist %cd%\%reg% REGEDIT.EXE /S %cd%\%reg%
if not "%reg%"=="" if not exist %cd%\%reg% REGEDIT.EXE /S %reg%
if "%reg%"=="tmp.reg" del %reg%
REM 載點( 使用於WINDOWS ): https://sites.google.com/site/toolsdn/dn/REGedit_EXT.rar
REM 載點( 使用於Noname XPE ):https://sites.google.com/site/toolsdn8/dn/REGedit_EXT.WIM.rar
REM 若在 unix/linux 可利用 sed.exe , tr.exe 等命令來完成 :
REM 如何利用 仿unix命令 sed 一次替換文字中的 "某些相似性的字串" :
REM 利用 sed.exe 將 C:\Windows\System32 轉成 C:\\Windows\\System32
REM echo C:\Windows\System32 | sed.exe -e "s/\\/\\\\/"
REM http://blog.xuite.net/tools241/blog/108046306
留言列表