Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Temp per Skript leeren

Frage Entwicklung Batch & Shell

Mitglied: goiko123

goiko123 (Level 1) - Jetzt verbinden

08.08.2007, aktualisiert 10.08.2007, 9220 Aufrufe, 15 Kommentare

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
Mitglied: TuXHunt3R
08.08.2007 um 15:22 Uhr
del /f /s /q C:\temp\*.*


Das löscht aber keine Unterordner
Bitte warten ..
Mitglied: goiko123
08.08.2007 um 15:27 Uhr
Herzlichen Dank,

So wie es aussieht soll es auch die Unterordner löschen...
Ich probiere es mal aus...

Bis bald
Bitte warten ..
Mitglied: TuXHunt3R
08.08.2007 um 15:29 Uhr
Moment, ich bastel kurz was.............................
Bitte warten ..
Mitglied: TuXHunt3R
08.08.2007 um 15:44 Uhr
@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....
Bitte warten ..
Mitglied: goiko123
08.08.2007 um 16:08 Uhr
Sehr nett von dir,

Ich probiere es mal aus.

Vielen Dank.
Bitte warten ..
Mitglied: goiko123
08.08.2007 um 17:39 Uhr
Hi noch mal von mir,

Der kurze Script löscht (wie du gesagt hast keine Unterordner, keine versteckte Unterordner und Dateien und keine Dateien mit einer Leerzeile in dem Namen.

Der zweite (lange) Script hat leider nichts gelöscht.

Ich arbeite weiter daran und werde auch berichten.

C U
Bitte warten ..
Mitglied: paulepank
08.08.2007 um 18:55 Uhr
Hallo ihr beiden,

einfach so:
01.
cd /d c:\temp 
02.
rd /s /q . 2>nul
cu paulepank
Bitte warten ..
Mitglied: Biber
08.08.2007 um 20:29 Uhr
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.

01.
::-------TempDelete.bat 
02.
@echo off & Attrib -s -r -h c:\temp\*.* /s /d 
03.
for /d %%i in ("c:\temp\*") do @ rd /s /q %%i >nul 2>nul 
04.
Del /f /q c:\temp\*.* 2>nul
Gruß
Biber

Ich verschiebe den Beitrag mal nach "Batch & Shell".
Bitte warten ..
Mitglied: paulepank
08.08.2007 um 21:52 Uhr
n'Abend Biber,

Attribute entfernen ist unnötig, da "rd" die Attribute nicht interessieren.
"rd" putzt alles weg solange die Zugriffsrechte es zulassen.


Damit meine Lösung auch unter Windows 2000 funktioniert folgende Änderung:
01.
c: 
02.
cd \temp 
03.
rd /s /q . 2>nul
cu paulepank
Bitte warten ..
Mitglied: Biber
08.08.2007 um 22:10 Uhr
Moin paulepank,

stimmt, das Attribute-Entfernen ist für den RD-Befehl nicht nötig.
Danke für den Tipp.

Grüße
Biber
Bitte warten ..
Mitglied: TuXHunt3R
09.08.2007 um 21:34 Uhr
@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
Bitte warten ..
Mitglied: Biber
09.08.2007 um 22:05 Uhr
@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...
01.
>for /d %i in ("c:\temp\*") do @echo rd /s /q %i 
02.
rd /s /q c:\temp\190C 
03.
rd /s /q c:\temp\1E3 
04.
rd /s /q c:\temp\1F8D 
05.
rd /s /q c:\temp\2378 
06.
rd /s /q c:\temp\25AD 
07.
rd /s /q c:\temp\2D09 
08.
rd /s /q c:\temp\30B 
09.
...
-->Alle Unterverzeichnisse, die "von c:\temp abgehen" werden gelöscht
01.
Del /f /q c:\temp\*.* 2>nul
Der Inhalt von c:\temp wird gelöscht, nicht der Ordner selbst.

Biber niemals würde armen Temp-Ordner löschen...

Grüße
Biber
Bitte warten ..
Mitglied: TuXHunt3R
09.08.2007 um 22:16 Uhr
Dann sollte ich langsam auch lesen lernen *schäm*!
Tschuldigung, soll nicht wieder vorkommen....


Der Batchgott Biber hat wie immer recht!
Bitte warten ..
Mitglied: paulepank
09.08.2007 um 23:01 Uhr
@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
Bitte warten ..
Mitglied: goiko123
10.08.2007 um 15:22 Uhr
Jungs,

es ist erfreulicherweise eine sehr nette Diskussion entstanden. Das freut mich auch sehr.
Ich mach den ultimativen Test.
sorry, dass ich mich nicht gemeldet habe, war überlastet.
Bis denn und danke noch mal an alle.

C U

Goiko

P.S. Folgender Script von paulepank hat einwandfrei funktioniert. Danke für die Bemühungen

@echo off
c:
cd \temp
rd /s /q . 2>nul
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...