[Gelöst] Löschen von Dateien

4. April 2014 08:34

Hallo,

meine Frage bezieht sich auf den Classic-Client.
In einer Funktion möchte ich gerne beim Start vorhanden Dateien mit Dateibeginn "bl_" und Endung ".xls" löschen.
Zum Beispiel "delete bl_*.xls".
Kann mir dazu jemand helfen?

Viele Grüße

Heinz
Zuletzt geändert von Heinz Steinmann am 4. April 2014 10:01, insgesamt 1-mal geändert.

Re: Löschen von Dateien

4. April 2014 08:41

Du kannst per C/AL-Code Ordner wie einen NAV-Tabelle filtern und durchlaufen.

Hier ein Beispiel, das noch für deinen Anwendungsfall zugeschnitten werden muss:

(File = Record-Variable auf Tabelle "File")
Code:
File.RESET; File.SETRANGE(Path,''); // notwendig! 
IF File.ISEMPTY THEN; // notwendig! 
File.SETRANGE(Path, MyPath); 
File
.SETRANGE("Is a file",TRUE); 
File
.SETFILTER(Name,'*.txt'); // hier entsprechend Filter anpassen
REPEAT 
  HandleFile
; // Um zu löschen, such mal in der Onlinehilfe nach ERASE
UNTIL File.NEXT = 0


Wenn die Ordnerstruktur so tief ist, dass dieser Quelltext aufgrund eines Textüberlaufs nicht ausgeführt werden kann, dann gibt es hierfür einen Workaround mit Hilfe von Automation-Variablen.

Falls der Quelltxt doch mal für den RTC ausgeführt werden soll, darfst du das obige Beispiel nicht nehmen. Nimm statt dessen dieses hier.