Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#3

AW: CMD über ShellExecute

  Alt 10. Feb 2021, 17:47
CMD will auch einen Parameter, mit dem DU ihm sagen mußt, dass der nachfolgende Text als Befehl ausgeführt werden soll.
Siehe /C oder /K in cmd /? .

Und für die CMD.exe gibt es sogar eine Umgebungsvariable mit dem kompletten Pfad.
%ComSpec% = C:\Windows\system32\cmd.exe

Aber wie Dalai bereits erwähnte, ist für die FOREFILES.exe das CMD garnicht nötig.



Joar, in Delphi gibt es viele Möglichkeiten.
z.B. Delphi-Referenz durchsuchenTDirectory.GetFiles
Ich denke mal Lazarus wird bestimmt auch irgendwo eine "einfache" Datei-Such-API bieten.
Delphi-Quellcode:
uses
  IOUtils, DateUtils;

var
  Files: TArray<string>;
begin
  Files := TDirectory.GetFiles('C:\Users\NAME\Desktop\Test', TSearchOption.soAllDirectories,
    function(const Path: string; const SearchRec: TSearchRec): Boolean
      begin
        Result := SearchRec.TimeStamp <= IncDay(Now, -60);
      end);
  for var F in Files do
    TFile.Delete(F);

  // oder wenn man etwas "böse" ist
  TDirectory.GetFiles('C:\Users\NAME\Desktop\Test', TSearchOption.soAllDirectories,
    function(const Path: string; const SearchRec: TSearchRec): Boolean
      begin
        if SearchRec.TimeStamp <= IncDay(Now, -60) then
          TFile.Delete(TPath.Combine(Path, SearchRec.Name));
        Result := False;
      end);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (11. Feb 2021 um 10:07 Uhr)
  Mit Zitat antworten Zitat