2010-09-09 21 views
9

Próbuję znaleźć sposób, aby zarejestrować pliki o rozszerzeniu .pl jako pliki wykonywalne. Spędziłem trochę czasu w Internecie szukając rozwiązania, ale nie mogłem nic znaleźć.Uruchamianie skryptu perl w oknach bez rozszerzenia

Co mogę zrobić: zrobiłem skrypt, nazwijmy to myscript.pl
mogę uruchomić go tak:

perl myscript.pl [my_script_parameters] 

Teraz ponieważ plik jest skojarzony z Perl, mogę również uruchomić go jako:

myscript.pl [my_script_parameters] 

teraz wiem, że gdzieś tam jest lista rozszerzeń, które są uważane za wykonywalnych (.exe, .bat, etc ...). Chciałbym dodać.pldo tej listy tak, że mogę uruchomić mój skrypt tak:

myscript [my_script_parameters] 

Czy ktoś wie jak to zrobić?

Odpowiedz

13

Tak, istnieje wbudowane wsparcie dla tego. Jeśli zaznaczysz pomoc dla polecenia FTYPE, zobaczysz przykład Perla.

C:> pomocy ftype

wyświetlaczach lub modyfikuje rodzaje plików używane w pliku związków rozszerzających

ftype [FileType [= [openCommandString]]]

FileType Określa typ pliku sprawdź lub zmień openCommandString Określa polecenie otwarcia, które będzie używane podczas uruchamiania plików tego typu.

Wpisz FTYPE bez parametrów do wyświetlaj bieżące typy plików, które mają zdefiniowane otwarte ciągi poleceń. FTYPE jest wywoływany tylko z typem pliku , wyświetla bieżący otwarty ciąg poleceń dla tego typu pliku. Nie określa nic dla polecenia open ciąg, a polecenie FTYPE spowoduje, że usunie łańcuch polecenia otwarcia dla typu pliku . W otwartym poleceniu ciąg% 0 lub% 1 jest zastępowany przez nazwę pliku uruchamianego przez z przypisaniem. % * pobiera wszystkie parametry , a% 2 pobiera pierwszy parametr ,% 3 drugi itd.% ~ n pobiera wszystkie pozostałe parametry począwszy od n-tego parametru, gdzie n może zawierać się w przedziale od 2 do 9, włącznie . Na przykład:

ASSOC .pl=PerlScript 
FTYPE PerlScript=perl.exe %1 %* 

pozwoli Ci wywołać Perl skrypt w następujący sposób:

script.pl 1 2 3 

Jeśli chcesz, aby wyeliminować potrzebę typu rozszerzenia, a następnie wykonaj następujące czynności :

set PATHEXT=.pl;%PATHEXT% 

i skrypt może być wywołany jako follo WS:

script 1 2 3 
+0

Która wersja systemów operacyjnych firmy Microsoft ma tę nową funkcję? –

+0

Jest już od NT, może nawet wcześniej. –

+0

Hello! Dzięki za odpowiedź. Próbowałem, ale z jakiegoś powodu nie przetrwał restartu. Prawdopodobnie muszę znaleźć odpowiedni plik konfiguracyjny, który jest wywoływany podczas startu systemu. – Pascal

-1

Najlepszym rozwiązaniem byłoby napisać plik wsadowy o nazwie myscript.bat, umieścić ją na swojej drodze, i mieć go uruchomić skrypt np ..

@echo off 
c:\perl\bin\perl.exe c:\scripts\myscript.pl %* 
+8

Jeśli chcesz utworzyć wsadowe "opakowanie" dla skryptu Perla, użyj narzędzia 'pl2bat' dołączonego do perla. –

+0

Hello! Dzięki za odpowiedź. Problem, jeśli używam tej metody jest to, że muszę zrobić partii dla każdego skryptu, który piszę ... – Pascal

6

Możesz po prostu dodać "; .PL" do zmiennej środowiskowej PATHEXT. Kliknij prawym przyciskiem myszy "Mój komputer"> Właściwości> Zaawansowane> Zmienne środowiskowe> Zmienne systemowe.

+0

Witam! Dzięki za odpowiedź! Tak, właśnie tego szukałem. – Pascal

+0

Dodałem '.pl' i' .PL' do 'PATHEXT', ale nadal mój plik otwiera się za pomocą edytora. Próbuję wykonać jako 'C: \> newprog.pl' –

+0

Czy uruchomiłeś ponownie? Czy wykonałeś 'set', aby sprawdzić, czy zmienna PATHEXT ma nową wartość w konsoli? – AndiDog

Powiązane problemy