2016-07-15 7 views
0

Ich habe 40 TXT-Dateien, die nach 40 Computern meines Benutzers benannt werden, und jede TXT-Datei enthält ein AD-Benutzerkonto. Das folgende Bat-Skript eignet sich hervorragend, um das Anzeigenkonto der Administratorgruppe hinzuzufügen.Problem mit einer Batchdatei, die ich erstellt habe. Es fügt einen Benutzer korrekt hinzu, entfernt aber nicht

mkdir "c:\newtemp\a_accounts" 
xcopy "\\SERVERNAME\FOLDER\a_accounts\%computername%.txt" "c:\newtemp\a_accounts" 
for /f "usebackq" %%X in ("c:\newtest\a_accounts\delete\%computername%.txt") do (NET LOCALGROUP ADMINISTRATORS %%X /add) 

Allerdings, wenn ich eine neue BAT-Datei zu machen und umgekehrt die Schalter aus/in dem/Löschen Sie nicht auf das neue Skript funktionieren. Ich muss das obige Skript verwenden, um andere Benutzer aus der lokalen Admin-Gruppe löschen zu können.

mkdir "c:\newtemp\delete_user_admin" 
xcopy "\\SERVERNAME\FOLDER\delete_user_admin\%computername%.txt" "c:\newtemp\delete_user_admin" 
For /F "usebackq" %%G IN ("c:\newtemp\delete_user_admin\%computername%.txt") DO (NET LOCALGROUP ADMINISTRATORS %%G /delete) 

Wenn die für/f läuft er nichts tun (keine Fehler auch nicht. Es zeigt nur die Zeile). Was mich verblüfft hat, warum es so ist. Ich habe versucht, die Variable von X zu einem anderen Buchstaben zu ändern, aber das macht nichts anderes. Irgendeine Ahnung, warum das passiert?

Okay, es sieht so aus, als ob die Variable den Benutzernamen in der Datei nicht aufnimmt. Ich habe gerade das zweite %% G durch meinen Anzeigenamen ersetzt und das Skript ausgeführt, und mein Konto wurde vom lokalen Administrator gelöscht. Jetzt muss ich herausfinden, warum das for/f nicht funktioniert. Beim Betrachten der Website verwende ich die richtigen Zeilen.

7/17/2016

Ja, ich bin völlig stampfen, warum dies nicht funktioniert. Ran beide Zeilen zusammen in einer .bat und das folgende passiert.

Das funktioniert gut.

for /f "usebackq" %%X in ("c:\newtemp\a_accounts\%computername%.txt") do (NET LOCALGROUP ADMINISTRATORS %%X /add) 

Allerdings, wenn ich den Ordner ändern, bricht es (keine Fehler nur nichts tut, sondern schauen, wie es die Linie läuft, erzeugt aber nichts.

for /f "usebackq" %%X in ("c:\newtemp\a_accounts2\%computername%.txt") do (NET LOCALGROUP ADMINISTRATORS %%X /delete) 

Wenn ich die .bat-Datei und bearbeiten gehen in die zweite Zeile, die auf den ersten Ordner "a_accounts" zeigt und die Zeile/add/löscht die Zeile funktioniert einwandfrei !!! Macht keinen Sinn was es ist. Ich habe alle Hoffnung verloren zu verstehen, warum das nicht funktioniert wie es sollte, wenn jemand die Antwort hat.

+2

Woher kommt Bash? Und Tipp: Werfen Sie einen Blick auf die Syntaxhervorhebung in Ihrem zweiten Codebeispiel hier, Sie könnten die Antwort auf Ihr Problem finden ... – ths

+0

Oops meinte, Batch (wie peinlich) und hmm aktualisiert die Zeilen seit ich einen Fehler gemacht habe Hinzufügen des% Computername% nach dem Mkdir, das war ich versuche verschiedene Dinge, aber ja, ich gebe es noch einmal bis dahin bin ich immer noch verwirrt und verloren. –

+1

[Debugging Ihrer Batch-Dateien] (http://www.robvanderwoude.com/battech_debugging.php) – DavidPostill

Antwort

0

Seltsames Zeug, das ich in meinem Leben gesehen habe. Wenn ich die TXT-Datei aus dem Arbeitsskript kopiere und den Namen modifiziere, funktioniert die zweite Zeile !!! WAS!!!!?? Macht keinen Sinn, aber ich habe es so funktionieren lassen, wie ich es möchte.

0

Sie kopieren zu c:\newtemp\delete_user_admin\%computername% noch lesen Sie von "c:\newtemp\delete_user_admin\%computername%.txt"

Diese sind nicht das Gleiche.

+0

Danke, schrieb die Zeilen falsch hier. Bearbeite den Fehler und schaue, es ist korrekt, wie ich es in der .bat-Datei habe. Denk daran, es zu betrachten? –

+0

Jetzt funktioniert keines Ihrer Skripte. Sie vermissen beide ein ')' in der Zeile, die 'net use' ausführt. Am besten kopieren Sie das Quelltext-Skript, sonst behalten wir Tippfehler im Auge. –

+0

Sie haben Recht, ich habe die richtigen Zeilen kopiert und eingefügt, anstatt sie zu tippen! Es tut mir leid, dieses Forum noch zu lernen! –

Verwandte Themen