Argumenty wiersza poleceń#
Wstęp#
Program Notepad++ jest aplikacją typowo graficzną. Nie oferuje żadnego interfejsu pozwalającego na pracę w trybie wiersza poleceń. To powoduje, że wszelka automatyzacja zadań przy użyciu pliku binarnego notepad.exe i systemowej konsoli, np. hurtowe przeszukiwanie czy modyfikacja plików, nie jest możliwa. Jedyną rzeczą ze świata konsolowego obsługiwaną przez program NPP jest kilka argumentów wiersza poleceń (info z manuala, info z webarchive), które wpływają na proces jego uruchamiania.
W oknie Command Argument Help znajduje się wykaz i skrótowy opis wszystkich argumentów wiersza poleceń rozpoznawanych przez program NPP. Informacje te są bardzo ogólnikowe, co w pewnych sytuacjach może prowadzić do lekkiej konsternacji. Dla lepszego zrozumienia tematu przeanalizujmy każdy argument raz jeszcze, ale tym razem w sposób bardziej szczegółowy.
Opis działania#
Prawidłowe użycie wszystkich argumentów wiersza poleceń w programie NPP najlepiej objaśnić na kompleksowym zapisie składniowym:
notepad++ [--help] [-multiInst] [-noPlugin] [-l<lang>] [-L<langCode>] [-n<line>] [-c<column>] [-p<pos>] [-x<left-pos>] [-y<TopPos>] [-nosession] [-notabbar] [-quickPrint] [-ro] [-systemtray] [-loadingTime] [-alwaysOnTop] [-openSession] [-openFoldersAsWorkspace] [-r] [-qn<EasterEggName> | -qt<Text> | -qf<ContentFilePath>] [-qSpeed<X>] [filePath]
gdzie poszczególne człony oznaczają:
- notepad++ - ścieżka względna lub bezwzględna do pliku wykonywalnego programu Notepad++. Wszystko zależy od sposobu uruchamiania programu NPP, np. z systemowej konsoli, ze skrótu do programu czy z innego programu/skryptu (przykład).
- [--
help] - jedyny argument zawierający podwójny myślnik przed swoją nazwą, czyli--help. - [
-argument] - przedstawia konkretny argument bez dodatkowej wartości, np.-multiInstczy-noPlugin. - [
-argument<value>] - przedstawia konkretny argument z dodatkową wartością, np.-lphpczy-n5. - [
-qn<EasterEggName> |-qt<Text> |-qf<ContentFilePath>] - można użyć tylko jeden z tych trzech wymienionych argumentów. - [filePath] - jedyny argument z samą wartością (bez nazwy), np.
readme.txtczy"D:\Mój folder\readme.txt", i którego można podawać wielokrotnie (separatorem jest spacja).
Oto kilka dodatkowych uwag, o których warto pamiętać:
- Argumenty są czułe na wielkość znaków.
- Można podawać dowolną liczbę argumentów, gdzie separatorem jest spacja, ale nie mogą się one powtarzać (prócz
filePath). Kolejność występowania argumentów nie jest istotna. - Większość argumentów wyklucza się wzajemnie, dlatego spośród kilku przekazanych argumentów zadziała tylko jeden z nich.
- Niektóre argumenty zadziałają tylko wtedy, kiedy przekazane zostaną wraz z innymi argumentami.
- Wartości dla argumentów podaje się od razu za ich nazwą (beż dodatkowej spacji).
- Argumenty mające swoje odpowiedniki w ustawieniach programu (np.
-notabbarczy-L) nie modyfikują tych ustawień, tj. po ponownym uruchomieniu programu NPP załadowane zostaną oryginalne ustawienia. - W celu zachowania kompatybilności program Notepad++ najpierw spróbuje zidentyfikować cały wiersz z przekazanymi argumentami jakby był plikiem, nawet jeśli nie użyto cudzysłowów. Nie jest to jednak zalecane i w przypadku plików najlepiej zawsze stosować cudzysłowy.
Poniżej zamieszczam kilka prawidłowych wywołań z przekazaniem pojedynczego argumentu lub wielu argumentów:
notepad++ --help notepad++.exe --help "notepad++.exe" --help notepad++ -multiInst notepad++ -multiInst -noPlugin notepad++ -multiInst change.log notepad++ -multiInst change.log readme.txt notepad++ -multiInst change.log readme.txt -n5 notepad++ -multiInst change.log -n5 readme.txt -lphp license.txt -Lde