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.-multiInst
czy-noPlugin
. - [
-argument
<value>] - przedstawia konkretny argument z dodatkową wartością, np.-lphp
czy-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.txt
czy"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.
-notabbar
czy-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