1
我有一個想太多的擴展.btm
添加太多行爲就像一個批處理文件,是否有任何方式我能做到這一點,並可能永久地把它添加到我的註冊表?添加一個批處理文件擴展名
我有一個想太多的擴展.btm
添加太多行爲就像一個批處理文件,是否有任何方式我能做到這一點,並可能永久地把它添加到我的註冊表?添加一個批處理文件擴展名
Here's my investigation over the topic
由於只需使用assoc命令將無法正常工作。我使用重命名與蝙蝠擴展。還有的還是房間的形式改進文件(如臨時文件可以刪除)臨時文件,但是是唯一的我發現用不同的擴展名製作文件的方式就像/ bat/cmd一樣。這不會編輯%PATHEXT%,所以如果你想在沒有擴展名的情況下調用這些wiles,你需要自己編輯。
首先創建一個bat
文件看起來像這樣:
@echo off
copy "%~nx1" "%temp%\%~nx1.bat" /Y >nul
"%temp%\%~nx1.bat" %2
,並保存爲"%ProgramFiles%\caller\caller.bat"
然後創建一個.bat
文件中像這樣並運行它以管理員身份:
Windows Registry Editor Version 5.00
;REM
;REM -------- THIS IS INSTALLMENT PART --------
;REM
;@ECHO OFF
;CLS
;BREAK
;BREAK -- CREATING THE EXTENSION CALLER
;BREAK
;
;echo @echo off > %temp%\caller.temp
;echo copy "%%~nx1" "%%temp%%\%%~nx1.bat" /Y ^>nul >>%temp%\caller.temp
;echo "%%temp%%\%%~nx1.bat" %%2>>%temp%\caller.temp
;
;md "%ProgramFiles%\caller" >nul 2>&1
;copy "%temp%\caller.temp" "%ProgramFiles%\caller\caller.bat" /Y >nul 2>&1
;
;BREAK
;BREAK -- CALLING REGEDIT
;BREAK
;
;REGEDIT.EXE /S "%~f0"
;GOTO :EOF
;
;REM
;REM -------- HERE STARTS THE REGISTRY PART --------
;REM
;this links the information for the extension to
;HKEY_CLASSES_ROOT\btmfile
[HKEY_CLASSES_ROOT\.btm]
@="cmffile"
;this is used by windows search
;it's value indicates that it contains only text
[HKEY_CLASSES_ROOT\.btm\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
;This is the other part of the registry which is edited
;here is contained the actual information
[HKEY_CLASSES_ROOT\btmfile]
[HKEY_CLASSES_ROOT\btmfile\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-68"
[HKEY_CLASSES_ROOT\btmfile\shell]
[HKEY_CLASSES_ROOT\btmfile\shell\Run]
;Unfortunately does not work with %ProgramFiles%
[HKEY_CLASSES_ROOT\btmfile\shell\Run\command]
@="\"C:\\Program Files\\caller\\caller.bat\" \"%1\" %*"
這如果批處理文件依賴於其目錄作爲其當前工作目錄,將無法正常工作。 –