-
Ordner im IFS leeren - wie machbar?
Hallo : D,
ich suche gerade nach einer Lösung um einen Ordner im IFS von allen Dateien zu säubern und das immer automatisch bei einem bestimmtem Programmaufruf.
Die IFS Prozeduren von S. Klement bieten dafür ja anscheinend leider keine Möglichkeit.
Meine Idee bisher ist mittels qsh die Funktion "rm" zu nutzen, und damit rekursiv den Ordner zu leeren. Mit Linux mach ich das ständig, daher diese Idee.
Ist das sinnvoll oder würdet Ihr eine andere Möglichkeit nutzen?
Grüße aus dem Norden
Dominic
-
Wenn Du dich ja mit der Syntax auskennst ist das eine gute Idee. Was besseres findest Du soleicht nicht
GG 4947
-
OK, das klingt doch schonmal gut. Nun muss ich nur noch rausfinden wie ich aus einem RPG Programm ein SH Befehl absetzen kann. Weist du dazu genaueres oder kann ich das irgendwo nachlesen?
-
Das geht über den Aufruf:
QSH CMD('rm *')
Aber Achtung, es wird alles ohne Nachfragen gelöscht.
Das Nonplusultra war schon immer der Befehl "rm -R *".
Dieser gehr rekursiv über alle Verzeichnisse und löscht zum Schluss das Verzeichnis selber.
Bei entsprechend hoher Stufe, z.B. "/", ist das das Aus für das System.
-
Also erstmal danke, ich habe gerade folgendes gefunden:
D QzshSystem PR 10I 0 extproc('QzshSystem')
D command * value options(*string)
D cmd S 2053A varying
damit soll es dann wohl wie mit CL Befehlen klappen. Bei mir klappt es jedoch nicht...bekomme immer -1 als result zurück. Hier mal der Code von meinem Test: http://pastebin.com/Mem1jvPu
Unter der interaktiven qsh klappt der Aufruf aber ohne Probleme.
@Fuerchau: QSH CMD(Befehl), kann man das einfach zo nutzen oder braucht man noch einen Prototypen oder ein bnddir?
-
QSH ist ein Kommando wie alle anderen auch.
Anstelle der C-Funktionen kannst du auch klassisch QCMDEXC verwenden.
Dann bekommst du auch ggf. mehr Infos, was denn falsch gelaufen ist.
PS:
Ein "rm *" löscht natürlich nur das, wofür du berechtigt bist. Beim 1. Fehler wird aber aufgehört.
-
ah ok dank dir, werde das so einmal probieren. Vllt. klappt es ja dann.
-
Code:
D system pr 10i 0 extproc('system')
D cmd * value options(*string)
...
system('QSH CMD(''rm /deinDir'')');
SYSTEM liefert dir auch einen Returncode zurück. Ist zwar primitiv, reicht aber meist aus.
lg Andreas
-
Möglicherweise verstehe ich die Frage nicht (..), aber warum eigentlich nicht mit dem dafür vorgesehenen AS/400 Cmd?
DEL OBJLNK('/ordnername/*')
-
Du hast die Frage verstanden : ) das ist eine gute nicht qsh Alternative. Deswegen auch meine Frage zu anderen Lösungen.
Kurze Frage dazu, ist die Gefahr damit das "/" zu löschen genauso hoch wie mit qsh? Will das nicht einfach probieren.
Wenn nicht sehe ich kein Vorteil zu qsh
-
Nein, mit obiger Syntax wird nur der Inhalt des angegebenen Ordners gelöscht, nicht der Ordner selbst
-
Sorry falsch ausgedrückt. Mir war klar das ich mit deinem Beispiel nur die Dateien in dem Ordner lösche. Was mich interessiert ist wenn man ausversehen beim DEL OBJLNK nur z.B. "/" angibt ob man dann auch wie mit "rm" einfach ohne Nachfrage das IFS leerräumt. Falls dem so ist gibt es dann ja keinen Unterschied zu "rm" außer dass das eine eine über QSH passiert und das andere über CL
Similar Threads
-
By AK1 in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 19-04-16, 11:07
-
By sargejogi in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 26-02-15, 18:52
-
By Joe in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 11-04-14, 17:05
-
By Koelch400 in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 02-10-02, 14:06
-
By Sven Keiselt in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 30-01-01, 12:33
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks