Ich habe gerade angefangen zu arbeiten in einer Schule und die Art und Weise, wie wir die Computer eingerichtet haben, laden Sie automatisch einen Studenten Benutzer aus dem Netzwerk, wenn ein Schüler an einem Computer anmeldet. Wir arbeiten daran, ein Skript auf machen, diesen Befehl auszuführen sie für die Reinigung:Bat-Datei zum Entfernen aller Benutzerordner mit 20 im Namen Bat-Datei
for /D %f in (*20**) do rmdir %f /s /q
In Eingabeaufforderung zeigt es jeden Anwender mit 20 im Namen und löscht sie aus dem Computer zusammen mit allem, was in diesen Ordnern.
Wir können den Dateinamen nicht einfach in .bat ändern, anstatt ihn in einem Notizblock zu speichern, um ihn in ein Eingabeaufforderungsfenster zu kopieren.
Die Batch-Datei, die wir derzeit haben, ist
@echo off
pause
for /d %%f in (*20**) do rmdir C:\Users\%%f /s /q
pause
der jede Pause zeigt, um zu versuchen mich debuggen zu helfen, aber nicht den Ordner löschen. Was mache ich hier falsch?
Ändern Sie Ihr 'rmdir C: \ Users \ %% f/s/q' zu 'echo C: \ Users \ %% f'. Was für eine Ausgabe bekommst du? –
Ich bekomme keine Ausgabe. Nur die Pause wird angezeigt. Der Benutzer, den ich dieses Skript testen möchte, um es zu löschen, heißt fakeuser2020. –
Wenn Sie keine Ausgabe erhalten, bedeutet dies, dass Ihre for-Schleife nichts findet. Was erwartest du '* 20 **' zu tun? Was macht das Eingeben von '* 20 **' an einer Eingabeaufforderung? –