Temp per Skript leeren
Leeren und nicht Löschen/Neu Erstellen
Servus allerseits,
Ich brauche ein Skript, das das Temp Verzeichnis auf Root nach der Abmeldung vom Benutzer leert. Ich habe schon einen Skript eingesetzt, das es erfolgreicht nach der Abmeldung ausführt. Allerdings wird das Verzeichnis nicht geleert, sondern gelöscht und danach neu erstellt. Das Problem dabei ist, dass danach die Berechtigungen verloren gehen und einfach diese vom Rootverzeichnis vererbt werden. Kann mir jemand dabei helfen und ein Beispielskript geben/schreiben. Ich werde sehr dankbar.
Danke im voraus.
LG: Deian
Servus allerseits,
Ich brauche ein Skript, das das Temp Verzeichnis auf Root nach der Abmeldung vom Benutzer leert. Ich habe schon einen Skript eingesetzt, das es erfolgreicht nach der Abmeldung ausführt. Allerdings wird das Verzeichnis nicht geleert, sondern gelöscht und danach neu erstellt. Das Problem dabei ist, dass danach die Berechtigungen verloren gehen und einfach diese vom Rootverzeichnis vererbt werden. Kann mir jemand dabei helfen und ein Beispielskript geben/schreiben. Ich werde sehr dankbar.
Danke im voraus.
LG: Deian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 65742
Url: https://administrator.de/forum/temp-per-skript-leeren-65742.html
Ausgedruckt am: 31.12.2024 um 23:12 Uhr
15 Kommentare
Neuester Kommentar
@echo off
::Daten löschen
del /f /s /q C:\temp\test\*
::Unterordner löschen
dir /s /b c:\temp\test\*. >c:\temp_leeren.log
for /f %%a IN (c:\temp_leeren.log) DO call :Loeschen %%a
goto :eof
:Loeschen
rmdir /s /q "%1"
goto end
:end
Allerdings kann das Script keine Ordner löschen, die ein Leerzeichen im Namen haben.
Vielleicht fällt mir dazu noch eine Lösung ein....
Moin goiko123,
wenn es wirklich um nur um den Ordner c:\temp geht, dann solltest Du es -wie auch schon richtig gepostet- in zwei Schritten machen:
- alle Unterverzeichnisse mit allen dort befindlichen Dateien und tieferen Verzeichnisebenen wegschrubbeln
- danach auf der Ebene c:\temp selbst alle Dateien löschen.
Als weiteren Schritt würde ich dazu raten, vorher alle ReadOnly/Hidden/System zu entfernen - sonst sind einige Dateien nicht löschbar.
Gruß
Biber
Ich verschiebe den Beitrag mal nach "Batch & Shell".
wenn es wirklich um nur um den Ordner c:\temp geht, dann solltest Du es -wie auch schon richtig gepostet- in zwei Schritten machen:
- alle Unterverzeichnisse mit allen dort befindlichen Dateien und tieferen Verzeichnisebenen wegschrubbeln
- danach auf der Ebene c:\temp selbst alle Dateien löschen.
Als weiteren Schritt würde ich dazu raten, vorher alle ReadOnly/Hidden/System zu entfernen - sonst sind einige Dateien nicht löschbar.
::-------TempDelete.bat
@echo off & Attrib -s -r -h c:\temp\*.* /s /d
for /d %%i in ("c:\temp\*") do @ rd /s /q %%i >nul 2>nul
Del /f /q c:\temp\*.* 2>nul
Gruß
Biber
Ich verschiebe den Beitrag mal nach "Batch & Shell".
@all
goiko123 will nicht, dass der Ordner selber gelöscht wird, er will den Ordner leeren!!!!!!!!!!!!!!!
ZITAT
Allerdings wird das Verzeichnis nicht geleert, sondern gelöscht und danach neu erstellt. Das Problem dabei ist, dass danach die Berechtigungen verloren gehen und einfach diese vom Rootverzeichnis vererbt werden.
ZITAT ENDE
goiko123 will nicht, dass der Ordner selber gelöscht wird, er will den Ordner leeren!!!!!!!!!!!!!!!
ZITAT
Allerdings wird das Verzeichnis nicht geleert, sondern gelöscht und danach neu erstellt. Das Problem dabei ist, dass danach die Berechtigungen verloren gehen und einfach diese vom Rootverzeichnis vererbt werden.
ZITAT ENDE
@TuXHunt3R
>goiko123 will nicht, dass der Ordner selber gelöscht wird, er will den Ordner leeren!!!!!!!!!!!!!!!
Biber will das auch gar nicht. Biber kann schon seit Jahren lesen.
Please have a look...
-->Alle Unterverzeichnisse, die "von c:\temp abgehen" werden gelöscht
Der Inhalt von c:\temp wird gelöscht, nicht der Ordner selbst.
Biber niemals würde armen Temp-Ordner löschen...
Grüße
Biber
>goiko123 will nicht, dass der Ordner selber gelöscht wird, er will den Ordner leeren!!!!!!!!!!!!!!!
Biber will das auch gar nicht. Biber kann schon seit Jahren lesen.
Please have a look...
>for /d %i in ("c:\temp\*") do @echo rd /s /q %i
rd /s /q c:\temp\190C
rd /s /q c:\temp\1E3
rd /s /q c:\temp\1F8D
rd /s /q c:\temp\2378
rd /s /q c:\temp\25AD
rd /s /q c:\temp\2D09
rd /s /q c:\temp\30B
...
Del /f /q c:\temp\*.* 2>nul
Biber niemals würde armen Temp-Ordner löschen...
Grüße
Biber
@TuXHunt3R
auch paulepank will das nicht
Hintergrund:
durch den Wechsel mit "cd" in das temp-Verzeichnis wird alles gelöscht
außer temp selbst, denn dieses Objekt ist durch das hineinwechseln gesperrt.
cu paulepank
auch paulepank will das nicht
Hintergrund:
durch den Wechsel mit "cd" in das temp-Verzeichnis wird alles gelöscht
außer temp selbst, denn dieses Objekt ist durch das hineinwechseln gesperrt.
cu paulepank