Mam następujący problem w systemie Windows 7. Próbuję utworzyć menu kontekstowe dla plików kliknięcia prawym przyciskiem określonego typu, powiedzmy *.hyb
, tj. chcę, gdy klikam prawym przyciskiem myszy na tego rodzaju pliki (np filename.hyb
), opcja w menu, np. „Uruchom z Myapplication”, a gdy ją kliknę, chcę, aby polecenie „Nazwa pliku Myapplication.exe” zostało uruchomione.
Udało mi się utworzyć menu kontekstowe dla tego konkretnego pliku, ale problem polega na tym, że nazwa pliku jest przekazywana jako argument do Myapplication.exe z jego rozszerzeniem. Myapplication.exe nie obsługuje rozszerzeń plików, więc muszę go usunąć. Mój klucz rejestru (przechowywany pod HKEY_CURRENT_USER\Software\Classes\hyb_auto_file\shell\Myapplication\command
) ma wartość C:\SomeFolder\Myapplication.exe
%1
Czy mogę poprawić %1
parametr, aby nazwa pliku została przekazana bez jej rozszerzenia?
Dziękuję Ci bardzo!
źródło
Odpowiedzi:
Nie działa napisanie „% ~ dpn1” w rejestrze.
Możesz zadzwonić
CMD
plik poleceń, który odcina rozszerzenie i wywołuje aplikację:Zawartość pliku
hyb.cmd
:„% ~ dpn1” zajmie dysk + ścieżka + nazwa parametru 1 i pominie rozszerzenie.
Plik definicji rejestru
hyb.reg
nazwać ten skrypt:Zauważ, że Windows udostępnia przydatne polecenia do utrzymywania skojarzeń plików z linii poleceń bez dotykania rejestru. Zapytać Google dla
ASSOC
iFTYPE
.źródło
hyb.cmd
jest w wyszukiwaniuPATH
. Jeśli wyraźnie dodasz pełną ścieżkę, jesteś bezpieczny.