moskwij
Goto Top

VBScript Temp Ordner löschen bei vers unbekannten Nutzern

Hallo,
ich verwalte ein kleines Schulnetzwerk, bei welchem wir immer wieder mit dem Problem zu kämpfen haben das sich einige Schüler nicht bei Windows anmelden können. Als Ursache dafür haben wir ausgemacht das in den Temp Ordner der Schüler Dateien liegen deren Namen viel zu Lang sind, wodurch die aktualisierung des Serverprofils fehlschlägt. Als sinnvollste Lösung erschien uns nun ein Script zu erstellen welchen bei jedem hochfahren des Rechners, noch vor dem Anmelden, die Temp Ordner der Schüler löscht. Nach langem probieren bin ich nun aber immer noch nicht voran gekommen, da ich überhaupt keine Ahnung von scripten habe.

Auf unseren Windows Rechnern befinden sich im Verzeichniss C:\Dokumente und Einstellungen\Standardgemäß die Lokal zwischengespeicherten Serverprofil unserer Nutzer,
diese heißen beispielsweise s59356, bestehen also immer aus dem Buchstaben s und einer 5 stelligen Nummer.
In jedem Schüler Ordner befindet sich ein Temp Ordner welcher samt Unterordner gelöscht werden soll,
andere Dateien und Ordner sollen unangetastet bleiben.
Ein Beispiel für den Pfad zum Temp Ordner C:\Dokumente und Einstellungen\ s29237\Lokale Einstellungen\Temp.

Wie muss also das Script aussehen wenn ich einen Orner samt Inhalt löschen will, das Verzeichniss in welchem dieser sich befindet allerdings unbekannt ist und sich mehrere Profile mit Temp Ordnern in C:\Dokumente und Einstellungen\ befinden?

Für eure Hilfe bin ich euch wirklich sehr Dankbar da schon am Verzweifeln bin.

Danke
Moskwij

Content-Key: 112765

Url: https://administrator.de/contentid/112765

Printed on: April 25, 2024 at 13:04 o'clock

Member: NetWolf
NetWolf Mar 30, 2009 at 21:31:04 (UTC)
Goto Top
Hallo Moskwij,

warum nimmst du nicht einfach den Ccleaner, der (wenn eingestellt) die Tempverzeichnisse leert?

Warum gest du nicht einfach in die Systemsteuerung/System und definierst die TEMP-Ordner so, wie DU es benötigst?


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Member: bastla
bastla Mar 31, 2009 at 05:31:09 (UTC)
Goto Top
... aber, falls es doch ein Script sein soll, würde ich eher zu Batch greifen:
@echo off & setlocal
set "Basis=C:\Dokumente und Einstellungen"  

for /f "delims=" %%i in ('dir /b /ad "%Basis%"^|findstr "^s[0-9][0-9][0-9][0-9][0-9]$"') do (  
	for /d %%a in ("%Basis%\%%i\Lokale Einstellungen\Temp\*.*") do echo rd /s /q "%%a"  
	echo del /q "%Basis%\%%i\Lokale Einstellungen\Temp"  
)
Gelöscht werden alle Dateien und Ordner im "Temp"-Ordner, aber nicht dieser selbst.

Die beiden "echo" in den Zeilen 5 und 6 sollen ein gefahrloses Testen erlauben, da die jeweiligen Löschbefehle so nur angezeigt werden. Wenn das lokale Testen (direkt in der Kommandozeile starten) erfolgreich war, diese "echo" entfernen und den Batch als "Startup"-Script eintragen.

Grüße
bastla
Member: Moskwij
Moskwij Mar 31, 2009 at 08:36:35 (UTC)
Goto Top
Vielen Dank für deine Hilfe,
deine Batch Datei ist genau das was ich brauche.

Grüße
Moskwij