GET_FILESYSTEM
Script-Funktion: Ruft mehrere Dateisystemwerte von einem definierten Pfad eines Computers ab.
Syntax
GET_FILESYSTEM ([Host],[Path],File System Value[,Unit][, include sub directories][,Login object])
Syntax |
Beschreibung/Format |
---|---|
Host |
Der Name des Agenten, der auf dem Computer aktiv ist, von dem die Informationen abgerufen werden sollen. Format: AE-Name, Script-Literal oder Script-Variable Wird der Hostname nicht angegeben, so wird der zuletzt mit der Script-Funktion GET_FILESYSTEM benutzte Agent verwendet. Es werden die Werte verwendet, die beim letzten Aufruf abgerufen wurden. |
Path |
Die Beschreibung von Dateien oder Dateisystemen, für die Informationen bereitgestellt werden sollen. Hier können, abhängig vom jeweiligen Zielsystem, Dateinamen, Laufwerke, Volumes, Pfade, Kennungen, Generierung von Datengruppen usw. qualifiziert oder teilqualifiziert angegeben werden. Es können die Wildcardzeichen „*“ oder „?“ verwendet werden. „*“ steht dabei für beliebige, „?“ für genau ein Zeichen. Beachten Sie, dass bei Windows die Wildcardzeichen „*“ und „?“ nur für die Dateinamen verwendet werden können. Sie können nicht für Verzeichnisse innerhalb des Pfades verwendet werden. Die Zeichen * und ? werden immer als Wildcardzeichen verwendet. Es ist daher nicht möglich, gezielt Dateien anzugeben, welche diese Zeichen im Namen aufweisen. Format: AE-Name, Script-Literal oder Script-Variable Wird der Pfadname nicht angegeben, so wird der zuletzt mit der Script-Funktion GET_FILESYSTEM benutzte Pfadname verwendet. Es werden die Werte verwendet, die beim letzten Aufruf ermittelt wurden. Die Pfadangaben unter Windows werden mit einem „\*“ beendet. Verwenden Sie Script-Funktionen, um Aktionen zu definieren, die im Fehlerfall durchgeführt werden sollen, z.B. das Senden einer Fehlermeldung, wenn der Pfad nicht vorhanden ist. Weitere Informationen finden Sie unter Script-Sprachmittel zur Fehlerbehandlung. Beispiel: C:\AUTOMIC\* Das Präfix „VOL=“ wird benötigt, wenn ein oder mehrere Datenträger angegeben sind. Beispiel: „VOL=ALG*1“ liefert Informationen über alle Volumen, die mit den Buchstaben „ALG“ beginnen und mit „1“ enden. Es können beliebig viele Zeichen dazwischen kommen. Hier sind es genau vier beliebige Zeichen, da die Bezeichnung eines Volumens 8-stellig ist. Bei der Bezeichnung von Generierung von Datengruppen darf das Wildcardzeichen „*“ nur innerhalb der Klammern verwendet werden. |
File System Value |
Die Script-Funktion kann folgende Informationen ermitteln: PATH_SPACE_ALLOCATED - Der zugewiesene Speicherplatz oder Festplattenspeicher. Format: AE-Name, Script-Literal oder Script-Variable |
Unit |
Es kann angegeben werden, in welcher Form ein Dateisystemwert zurückgegeben werden soll. Ohne eine Definition der Einheit wird der Rückgabewert vom Host bestimmt (Standard). Ein BS2000-Computer liefert z.B. den Wert „1“ für eine PAM-Seite. Dies entspricht 2048 Bytes. Bei einer Definition der Einheit wird der Rückgabewert wie angegeben umgerechnet. Format: AE-Name, Script-Literal oder Script-Variable Der Standardwert wird verwendet, wenn eine ungültige Einheit angegeben wurde. Daher wird diese Script-Funktion nicht abgebrochen, wenn die Option :ON_ERROR verwendet wird. |
include subdirectories |
Die Angabe, ob die Unterverzeichnisse des angegebenen Pfades durchsucht werden sollen. Erlaubte Werte: „Y“ (Standard) und „N“ Der Parameter ist nur für VMS-, UNIX- und Windows-Agenten verfügbar. Die Aktivierung dieser Option kann die Performance Ihres AE-Systems belasten. |
Login object | Name des zuvor definierten Login-Objekts; dient zur Übertragung der Login-Daten für das Dateisystem-Ereignisobjekt (optional) |
Rückgabewerte |
---|
Ergebnis des gesuchten Dateisystemwertes. |
Dieses Script-Sprachmittel kann nur mit Betriebssystem-Agenten (Windows, UNIX, VMS, z/OS, OS/400, NSK und BS2000) verwendet werden.
Der Rückgabewert dieser Funktion ist Null, wenn beim Zugriff auf Informationen über das Dateisystem (z.B. Pfad nicht gefunden) ein Fehler auftritt.
Tipp: Verwenden Sie die Script-Anweisung :ON_ERROR, um Maßnahmen zu definieren, die im Fehlerfall ergriffen werden sollen. Weitere Informationen finden Sie unter Script-Sprachmittel zur Fehlerbehandlung.
Wenn Sie diese Script-Funktion mitPATH_FILE_COUNT verwendet wird, kann sie 0 zurückgeben, wenn das Verzeichnis keine Dateien enthält. Verwenden Sie daher zusätzlich die Script-Funktionen zur Fehlerbehandlung (z.B.SYS_LAST_ERR_NR). Fehler (z.B. Host ist nicht aktiv) können so erkannt werden und es kann unterschieden werden, ob sich der Rückgabewert 0 auf die Dateinummer oder einen Fehler bezieht.
Unter z/OS kann die zurückgegebene Datensatzgröße (PATH_SPACE_USED) ungenau sein, wenn der Datensatz auf EAV (Extended Address Volumes) liegt.
Bei fehlender Zugriffsberechtigung auf Systemordner (System Volume Information, Windows) wird ebenfalls Rückgabewert 0 ausgegeben.
Das Script-Statement bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
Optionale Parameter Host und Pfad
Beispiele
Beim Eintreten eines Ereignisses vom Typ „FILE“, kann die Script-FunktionGET_FILESYSTEM verwendet werden, um Informationen über das Dateisystem, den Speicher und den Festplattenspeicher abzurufen. Jede Information wird zum Agenten transferiert. Jedes Element kann dann separat mit der Angabe des Dateisystemwertes abgefragt werden. Die Script-Funktion wird dabei ohne Angabe von Host und Pfad aufgerufen, da diese bereits in der Detail-Registerkarte des Ereignisses definiert sind.
GET_FILESYSTEM kann in den Prozess-Seiten aller ausführbaren Objekte (z.B. Workflows) verwendet werden. Beim Aufruf der Script-Funktion ist immer ein Host und ein Pfad anzugeben. Die Parameter können nur dann weggelassen werden, wenn GET_FILESYSTEM im Script schon einmal aufgerufen wurde. In diesem Fall bleibt der zurückgegebene Wert der Gleiche wie beim letzten Aufruf.
:SET &NumberFiles# = GET_FILESYSTEM(WIN01, "C:\Temp", PATH_FILE_COUNT)
!several script lines
:SET &NumberFiles# = GET_FILESYSTEM(,, PATH_FILE_COUNT)
!several script lines
:SET &NumberFiles# = GET_FILESYSTEM(WIN01, "C:\Temp", PATH_FILE_COUNT)
Der erste Aufruf von GET_FILESYSTEM liefert die Anzahl der Dateien, die sich im Verzeichnis C:\Temp befinden (z.B. 50). Sollten jetzt Dateien in diesem Ordner gelöscht werden, liefert diese Script-Funktion immer noch den Wert 50. Der dritte Aufruf berechnet schließlich die Werte des Dateisystems neu und liefert eine reduzierte Anzahl von Dateien.
Plattformspezifische Informationen
Die folgenden Werte und Informationen zum Dateisystem gelten nur für bestimmte Plattformen.
-
OS/400
Geben Sie immer eine Bibliothek und eine Datei an, um gültige Dateisystemwerte zu erhalten. -
z/OS
- PATH_SPACE_ALLOCATED - Der zugewiesene Festplattenspeicher in z/OS kann nicht abgerufen werden. Gibt den belegten Festplattenspeicher zurück.
- PATH_SPACE_USED - Verwendete Festplattenspeicher
- PATH_SPACE_UNUSED - Ist immer Null, da der Wert die Differenz zwischen PATH_SPACE_ALLOCATED und PATH_SPACE_USED ist.
-
BS2000
Nur im BS2000 können sich zugewiesener und belegter Festplattenspeicher voneinander unterscheiden. So können beispielsweise 1000 PAM-Seiten reserviert werden. Der eigentliche Dateiinhalt kann jedoch immer noch nur 100 PAM-Seiten betragen. -
Andere Betriebssysteme wie UNIX und VMS
- PATH_FILE_COUNT - Anzahl der Dateien
- PATH_FOLDER_COUNT - Anzahl der Ordner
- PATH_SPACE_USED - Summe der Dateigrößen im angegebenen Pfad.
- PATH_SPACE_TOTAL - Liefert die gleichen Ergebnisse wie PATH_SPACE_USED und PATH_SPACE_ALLOCATED.
Beispiele
Im folgenden Beispiel wird die Script-Funktion GET_FILESYSTEM verwendet, um die Anzahl aller vorhandenen Dateien abzurufen und eine entsprechende Meldung zu senden. Da die beiden ersten Parameter nicht angegeben wurden, handelt es sich um den Script-Auszug eines Ereignisses.
:SET &NUMBER# = GET_FILESYSTEM(,,PATH_FILE_COUNT)
:SEND_MSG "BROWN","IT","&NUMBER# files are available for processing."
Im folgenden Beispiel wird die Script-Funktion GET_FILESYSTEM im Script eines Jobs verwendet. Es werden alle verfügbaren Informationen zum Laufwerk abgerufen und im Aktivierungsreport ausgegeben.
: SET &E1# = GET_FILESYSTEM(WIN01,"E:\",FILESYSTEM_SPACE_TOTAL,MB)
: SET &E2# = GET_FILESYSTEM(,,FILESYSTEM_SPACE_USED,MB)
: SET &E3# = GET_FILESYSTEM(,,FILESYSTEM_SPACE_FREE,MB)
: PRINT "Memory capacity of the drive: &E1# MB"
: PRINT "Used
drive space: &E2# MB"
: PRINT
"Available space: &E3# MB"
Die folgende Beispiele zeigen die Verwendung der Script-Funktion mit GDG:
!Number of file generations of the group TEST.XXX
:SET &FILENAME# = GET_FILESYSTEM("MVSHOST", "TEST.XXX(*)",
PATH_FILE_COUNT)
!Sum of the space used by the current generation
:SET &SPACE# = GET_FILESYSTEM("MVSHOST", "TEST.XXX(0)",
PATH_SPACE_USED)
Siehe auch: