Natknąłem się na ten sam problem co @jtpereyda i rozwiązanie z @bobbymcr też nie działało dla mnie. Próbowałem przekazać wszystkie parametry wiersza polecenia do skryptów node.js bez potrzeby używania node.exe w poleceniu.
Problem polega na tym, że jeśli już skojarzyłeś program z rozszerzeniem za pośrednictwem Open Withokna dialogowego, utworzysz powiązanie aplikacji zamiast powiązania rozszerzenia pliku między nimi. A skojarzenia aplikacji mają pierwszeństwo.
Jeśli nie masz nic przeciwko edycji rejestru, możesz zmodyfikować (Default)klucz w następującej ścieżce:
HKEY_CLASSES_ROOT\Applications\node.exe\shell\open\command
Należy zastąpić node.exedostosowywaną aplikacją.
Lub możesz po prostu HKEY_CLASSES_ROOT\Applicationscałkowicie usunąć folder aplikacji z folderu, a twoje ftypestowarzyszenie zacznie działać.
Pamiętaj, aby użyć parametru, %*który przekaże pozostałe nieokreślone argumenty wiersza poleceń lub w ogóle nic. Jeśli to zrobisz "%2" "%3" "%4" "%5", otrzymasz 5 pustych parametrów ciągu przekazywanych do aplikacji, gdy nie podasz żadnych argumentów wiersza poleceń.
Wreszcie, jeśli nie jesteś w porządku ręcznie modyfikować rejestr, możesz użyć darmowego narzędzia Nirsoft - FileTypesManager - http://www.nirsoft.net/utils/file_types_manager.html
Powiązania plików pojawią się na górze listy, bez tekstu w pierwszej kolumnie rozszerzenia. Po prostu znajdź nazwę pliku wykonywalnego na liście i wybierz ją, aby zmodyfikować command linepole dla opennazwy akcji.
W Windows7 zmiany zostały odzwierciedlone natychmiast, bez ponownego uruchamiania lub ponownego uruchamiania aplikacji. Jednak narzędzie Nirsoft ma funkcję „Odśwież pulpit” przy każdej modyfikacji, więc wierzę, że może Vista lub wcześniejsze wersje OS buforowałyby dane. W takim przypadku narzędzie byłoby lepszym rozwiązaniem, w przeciwnym razie może być konieczne wylogowanie się i zalogowanie, aby zobaczyć zmiany.