Gdy do wykonywania działań na obiekcie używane są komendy lub ekrany zintegrowanego systemu plików,
obiekt identyfikowany jest przez podanie jego właściwej ścieżki.
Poniżej przedstawiono kilka reguł, o których należy pamiętać,
określając nazwy ścieżek. Według nich określenie obiekt odnosi się do dowolnego katalogu, pliku, dowiązania lub innego obiektu:
- Nazwy obiektów wewnątrz każdego katalogu muszą być unikalne.
- Nazwa ścieżki przekazana do komendy CL zintegrowanego systemu plików musi
być przedstawiona za pomocą identyfikatora kodowanego zestawu znaków (CCSID) obowiązującego dla danego
zadania. Jeśli identyfikatorem CCSID
zadania jest liczba 65535, nazwa ścieżki musi zostać przedstawiona w domyślnym identyfikatorze
CCSID zadania. Ponieważ łańcuchy tekstowe są zwykle kodowane za pomocą
identyfikatora CCSID 37, przed przekazaniem nazwy ścieżki do komendy, należy
ją poddać konwersji na identyfikator CCSID zadania.
Uwaga: W przypadku tych komend, które obsługują Unicode, ograniczenie niniejsze nie istnieje, pod warunkiem że komendy są wywołane tak, aby wykorzystać obsługę Unicode. Można na przykład wywołać funkcję API QCAPCMD za pomocą komendy i informacji dotyczących nazwy ścieżki w CCSID Unicode. Więcej informacji zawiera sekcja
Obsługa kodu Unicode w języku control language w
Centrum informacyjnym i5/OS.
- W wierszu komend ścieżki muszą się znajdować w znakach pojedynczego cudzysłowu ('). Gdy ścieżki wpisuje się na ekranach, apostrofy nie są obowiązkowe. Jeśli ścieżka zawiera ciągi znaków w cudzysłowie, należy ją ująć w znaki ' '.
- Ścieżkę należy wprowadzać od lewej do prawej strony, poczynając
od najwyższego poziomu katalogu i kończąc na obiekcie, na którym
ma być wykonana komenda. Nazwy składników ścieżki oddzielane są ukośnikiem (/).
Uwaga: W przypadku niektórych komend CL dozwolony jest również ukośnik odwrotny (\), który może służyć jako znak rozdzielający dokonujący automatycznie konwersji ukośnika odwrotnego (\) na ukośnik (/). Jednak dla niektórych komend CL ukośnik odwrotny (\) nie spełnia powyższej dodatkowej funkcji.
Z tego względu powyższego znaku rozdzielającego należy używać z ostrożnością.
Na przykład:
'Kat1/Kat2/Kat3/ZbiórUż'
lub
'Kat1\Kat2\Kat3\ZbiórUż'
- Znaków ukośnika (/), ukośnika odwrotnego (\) oraz znaków pustych nie można używać w poszczególnych składnikach ścieżki, gdy znaki te pełnią funkcję znaków rozdzielających. Komendy nie zamieniają małych liter na wielkie. Nazwa może zostać zamieniona na pisaną wielkimi literami lub nie, w zależności od tego,
czy system plików zawierający obiekt uwzględnia wielkość liter i czy
obiekt jest tworzony, czy poszukiwany.
- Długość nazwy obiektu jest ograniczona przez system plików, w którym znajduje się
obiekt, i przez maksymalną długość ciągu komendy. Komendy akceptują nazwy
obiektów o maksymalnej długości 255 znaków i ścieżki o maksymalnej długości
5000 znaków.
- Znak rozdzielający (na przykład /) na początku ścieżki oznacza, że ścieżka rozpoczyna się od najwyższego katalogu, na przykład: "root" (/).
'/Kat1/Kat2/Kat3/ZbiórUż'
- Jeśli ścieżka nie rozpoczyna się znakiem rozdzielającym (na przykład: /), to przyjmuje się, że
rozpoczyna się w bieżącym katalogu użytkownika, który wprowadził komendę, na przykład:
'MójKat/MójZbiór'
gdzie MójKat jest podkatalogiem bieżącego katalogu użytkownika.
- Znak tyldy (~) ze znakiem separatora (na przykład: /) na początku ścieżki
oznacza, że ścieżka rozpoczyna się w katalogu osobistym użytkownika, który
wprowadził komendę, na przykład:
'~/KatUżytk/ObiektUżytk'
- Znak tyldy (~), po którym występuje nazwa użytkownika, a następnie znak separatora
(na przykład: /) na początku nazwy ścieżki oznacza, że ścieżka
rozpoczyna się w katalogu osobistym użytkownika określonego przez podaną nazwę,
na przykład:
'~nazwa-użytkownika/KatUżytk/ObiektUżytk'
- W niektórych komendach, aby znaleźć nazwy odpowiadające wzorcowi,
można w ostatnim składniku ścieżki użyć gwiazdki (*) lub znaku zapytania (?). Znak * oznacza,
że system ma szukać nazw zawierających dowolną liczbę znaków w miejscu znaku *. Znak ? oznacza, że system ma szukać nazw zawierających pojedynczy znak w miejscu znaku ?. Poniższy przykład wskazuje wszystkie obiekty, których nazwa zaczyna się
znakiem d i kończy ciągiem txt:
'/Kat1/Kat2/Kat3/d*txt'
Poniższy przykład wskazuje wszystkie obiekty, których nazwa zaczyna się
znakiem
d, po którym występuje dowolny pojedynczy znak, i
kończy ciągiem
txt:
'/Kat1/Kat2/Kat3/d?txt'
- Aby uniknąć pomyłek związanych z wartościami specjalnymi systemu
i5/OS, nazwy ścieżek nie mogą rozpoczynać się od pojedynczego znaku gwiazdki (*). Do określania ogólnego wzorca nazwy ścieżki służą dwie gwiazdki (**) na początku nazwy,
na przykład:
'**.plik'
Uwaga: Dotyczy to tylko względnych nazw ścieżek, w których przed gwiazdką (*) nie występują inne znaki.
- Podczas działań na obiektach w systemie plików QSYS.LIB nazwy składników muszą przybrać postać
nazwa.typ-obiektu, na przykład:
'/QSYS.LIB/PAY.LIB/TAX.FILE'
- Podczas działań na obiektach w systemie plików QSYS.LIB niezależnej puli ASP nazwy składników muszą przybrać postać
nazwa.typ-obiektu, na przykład:
'/nazwa_asp/QSYS.LIB/PAYDAVE.LIB/PAY.FILE'
- Ścieżka musi znajdować się w dodatkowym cudzysłowie pojedynczym (') lub
w cudzysłowie ("), jeśli użyto jednego z poniższych znaków:
Na przykład:
'"/Dir1/Dir/A*Smith"'
lub
'''/Dir1/Dir/A*Smith'''
Jednak nie jest to zalecane, ponieważ
znaczenie znaku w łańcuchu komendy może być mylnie zinterpretowane, a
niepoprawne wpisanie łańcucha znaków jest częstym błędem.
- W nazwach ścieżek nie wolno używać dwukropka (:). Ma on
specjalne znaczenie w systemie.
- Podczas przetwarzania komend i związanych z nimi ekranów użytkownika system
nie rozpoznaje znaków o kodach mniejszych niż 40 (szesnastkowo) jako znaków,
których można użyć w komendach lub na ekranach. Gdy używa się takich znaków, muszą one zostać wprowadzone w postaci
szesnastkowej, tak jak poniżej:
crtdir dir(X'02')
Dlatego nie zaleca się używania w nazwie ścieżki znaków o kodach
mniejszych niż 40 (szesnastkowo). Ograniczenie to odnosi się tylko do komend i związanych z nimi
ekranów, a nie do funkcji API.
Dodatkowo, wartość
szesnastkowa 0 jest niedozwolona w nazwach ścieżek.