Ok deins funktioniert tadellos nur was hatte ich für einen Fehler
Jüngste Datei löschen
-
Sascha123456 -
1. Februar 2018 um 15:50 -
Erledigt
-
-
Deine True/False Logik wahr verkehrt herum !
Korrekt wäre :
AutoItSwitch MsgBox(32 + 4, "Bewertung", "War die Messung i.O ?") Case 6 ; Messung als i.O bewertet $bLoeschungabbruch = False Case 7 ; Messung als n.i.O bewertet $bLoeschungabbruch = True EndSwitch If Not $bLoeschungabbruch Then ...
Gruß Musashi
-
Hmm ne auch umgedreht löscht er nix
-
Doch, deine Logik war definitiv falsch !
FileDelete($sFilePath & $aFileList[1][1]) & MsgBox(16, "Info", "Letztes Protokoll wurde entfernt!") ; <-- jüngste Datei
Der Aufruf der MsgBox innerhalb von FileDelete sieht gar nicht gesund aus .
Schreibe besser :
FileDelete($sFilePath & $aFileList[1][1])
MsgBox(16, "Info", "Letztes Protokoll wurde entfernt!") ; <-- jüngste Datei entfernen
-
Das kannst Du leicht testen mit :
AutoIt
Alles anzeigenGlobal $bLoeschungabbruch ; Deine Variante : Switch MsgBox(64 + 4, "1. Bewertung", "War die Messung i.O?") Case 6 ; Messung als i.O bewertet $bLoeschungabbruch = True Case 7 ; Messung als n.i.O bewertet $bLoeschungabbruch = False EndSwitch If Not $bLoeschungabbruch Then MsgBox(0, "", "Kein Löschungsabbruch" & @CRLF) Else MsgBox(0, "", "Löschungsabbruch" & @CRLF) EndIf ; Korrekt : Switch MsgBox(64 + 4, "2. Bewertung", "War die Messung i.O?") Case 6 ; Messung als i.O bewertet $bLoeschungabbruch = False Case 7 ; Messung als n.i.O bewertet $bLoeschungabbruch = True EndSwitch If Not $bLoeschungabbruch Then MsgBox(0, "", "Kein Löschungsabbruch" & @CRLF) Else MsgBox(0, "", "Löschungsabbruch" & @CRLF) EndIf
-
Hmm scheinbar hast du recht
Und kann man die Anzeige des Pfades in der MsgBox, also MsgBox(64, "Info", $sLatestFile & " wurde entfernt!") , auch ohne Pfad anzeigen lassen? Also das nur der Dateiname angezeigt wird der gelöscht wurde?
-
Du kannst den Dateinamen mit Stringfunktionen zurechtschneiden.
StringTrimLeft schneidet alles links ab der angegebenen Position zurück.
StringInStr sucht in einem String ein Zeichen (du kannst auch angeben ab welchem x.ten Auftreten des Zeichens er die Position zurückgeben soll, auch von hinten)
Die beiden Befehle brauchst du zum löschen des Teils davor. Jetzt liegt es an dir sie vernünftig mit Hilfe der Dokumentation zusammenzusetzen.
-
Hmm scheinbar hast du recht
Nun, in diesem Fall habe ich nicht 'scheinbar' recht, sondern offensichtlich .
Und kann man die Anzeige des Pfades in der MsgBox, also MsgBox(64, "Info", $sLatestFile & " wurde entfernt!") , auch ohne Pfad anzeigen lassen? Also das nur der Dateiname angezeigt wird der gelöscht wurde?
Ja !
Das wäre aber nun wirklich mal eine einfache Aufgabe für Dich .
Gruß Musashi
-
- Offizieller Beitrag
Und wenn man faul ist, dann nimmt man einfach eine fertige Funktion: _WinAPI_PathStripPath
-
Und wenn man faul ist, dann nimmt man einfach eine fertige Funktion: _WinAPI_PathStripPath
Und falls man doch das Bedürfnis verspürt es mit Stringoperationen selbst zu machen, geht z.B. auch :
AutoItGlobal $sLatestFile = 'C:\Ordner\Testdatei.txt' ; Beispiel -> Pfad muss nicht existieren Global $sFileName = StringRight($sLatestFile , StringLen($sLatestFile) - StringInStr($sLatestFile , "\" , 0, -1)) MsgBox(0, "", "Dateiname = " & $sFileName & @CRLF)
Gruß Musashi
-
Und falls man doch das Bedürfnis verspürt es mit Stringoperationen selbst zu machen, geht z.B. auch
Das wäre aber nun wirklich mal eine einfache Aufgabe für Dich
-
Nachdem Oscar die Lösung für 'Faule' [sic] genannt hat, sah ich keinen Grund mehr für Verschwiegenheit .
Und um die nächste zu erwartende Frage gleich vorweg zu nehmen :
Falls Du den Vorschlag von Oscar verwenden solltest, dann muss an den Anfang des Skriptes
#include <WinAPIShPath.au3>
gesetzt werden !
Gruß Musashi
-
Hey Leute
ich hab es folgendermaßen gelöst
Local $sString = StringTrimLeft ($sLatestFile, 58)
MsgBox(64, "Info", $sString & " wurde entfernt!")
Und nein ich hab nicht abgeschaut
-
Wenn du den Pfad anpasst wird das aber nicht mehr funktionieren.
-
Stimmt wenn sich der pfad ändert müsste ich eine andere zahl angeben, das weiß ich
Der Pfad bleibt aber gleich.
-
Wenn du den Pfad anpasst wird das aber nicht mehr funktionieren.
Stimmt wenn sich der pfad ändert müsste ich eine andere zahl angeben, das weiß ich
Der Pfad bleibt aber gleich.
Entschuldige, aber das ist nun wirklich sehr schlechter Stil !
Mit solchen Absolutheitsannahmen wirst Du nie einen brauchbaren Code erzeugen .
Gruß Musashi
-
- Offizieller Beitrag
Der Pfad bleibt aber gleich.
Darauf sollte man sich beim programmieren lieber nicht verlassen.
Nimm lieber:
-
Danke
-