Ordner bereinigen (Original by jNizM)

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ordner bereinigen (Original by jNizM)

verbesserte Version

Post by Best-Code-in-Use » 20 Mar 2017, 05:30

@All

Vielleicht kann es Jemand gebrauchen=

Code: Select all

#NoEnv ; Keine Umgebungsvariablen nutzen, beschleunigt die Ausfuehrung
SetWorkingDir %A_ScriptDir%  ; Verwendet das Script-Verzeichnis als Startverzeichnis
#NoTrayIcon ; Das AHK Symbol wird nicht angezeigt
#SingleInstance force ; Das Skript wird bei Neustart ohne Nachfrage ersetzt

; -------------------------------------------------
Ordner_Pfad 				= C:\Apps ; der totale Pfad - alle Dateien in diesem Ordnern werden bereinigt - jedoch keine Unterordner oder die Dateien darin!
Daten_aelter_als_loeschen 	= 30 ; Angabe in Tagen
; -------------------------------------------------

Msg =
loop, %Ordner_Pfad%\*.*, 1, 0
{
    today = %A_Now%
    EnvSub, today, %A_LoopFileTimeModified%, days
    if (today > Daten_aelter_als_loeschen)
        Msg .= A_LoopFileLongPath . "`r`n"
}
MsgBox, 4, Alle nachfolgend angezeigten Dateien endgültig löschen?, %Msg%
IfMsgBox Yes
	loop, %Ordner_Pfad%\*.*, 1, 0
	{
		today = %A_Now%
		EnvSub, today, %A_LoopFileTimeModified%, days
		if (today > Daten_aelter_als_loeschen)
		{
			if InStr(A_LoopFileAttrib, "D")
				FileRemoveDir, %A_LoopFileLongPath%, 1
			else
				FileDelete, %A_LoopFileLongPath%
		}
	}

Vielen Dank

Post by Best-Code-in-Use » 20 Mar 2017, 03:51

@Rohwedder

Sehr gut vielen Dank, funktioniert einwandfrei... :D

Re: @jNizM - Ordner bereinigen

Post by Rohwedder » 19 Mar 2017, 04:04

Hallo,
warum nicht einfach so?

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

Ordner_Pfad = C:\Apps
Msg =
loop, %Ordner_Pfad%\*.*, 1, 0
{
    today = %A_Now%
    EnvSub, today, %A_LoopFileTimeModified%, days
    if (today > 45)
        Msg .= A_LoopFileLongPath . "`r`n"
}
MsgBox, 4, Alles löschen?, %Msg%
IfMsgBox Yes
	loop, %Ordner_Pfad%\*.*, 1, 0
	{
		today = %A_Now%
		EnvSub, today, %A_LoopFileTimeModified%, days
		if (today > 45)
		{
			if InStr(A_LoopFileAttrib, "D")
				FileRemoveDir, %A_LoopFileLongPath%, 1
			else
				FileDelete, %A_LoopFileLongPath%
		}
	}

Ordner bereinigen (Original by jNizM)

Post by Best-Code-in-Use » 17 Mar 2017, 05:08

Hallo,

ich habe hier ein Script von jNizM.
Gäbe es die Möglichkeit eine Art "Gruppenrückfrage" einzubauen, ob tatsächlich alle Dateien gelöscht werden sollen, z.B. mit Listenanzeige der Dateien in einer MsgBox?
Bevor etwas gegen den Baum geht, meinen Tests waren zwar alle erfolgreich, aber Sicher ist Sicher... :D

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

Ordner_Pfad := "C:\Apps"

loop, %Ordner_Pfad%\*.*, 1, 0
{
    today = %A_Now%
    EnvSub, today, %A_LoopFileTimeModified%, days
    if (today > 45)
    {
        if InStr(A_LoopFileAttrib, "D")
            FileRemoveDir, %A_LoopFileLongPath%, 1
        else
            FileDelete, %A_LoopFileLongPath%
    }
}

Top