2016-06-22 19 views
2

Ich würde gerne die Variable Benutzername an einen Befehl cmd in einem Batch-Skript übergeben, so dass ich sehen kann, ob der aktuelle Benutzer ein Administrator ist. Ich habe versucht, diesen Code start cmd.exe /c "net user %username% > priv.txt" Es will nicht arbeiten, aber was ist das Problem und gibt es einen besseren Weg, dies zu tun? Jede Hilfe oder Vorschläge sind willkommen. Danke an alle.% Benutzername% Variable im Stapel

+0

'Starten' hält der erste Satz von Anführungszeichen findet es (unabhängig davon, wo es in dem Befehl) werden die Titel des Fensters Datei. Verwenden Sie stattdessen "start" "cmd.exe/c" net user% username%> priv.txt "'. – SomethingDark

+0

@SomethingDark Ich habe das versucht, aber und es funktioniert in gewissem Maße, es scheint keine Ausgabe in die Textdatei zu schreiben, wie ich will. – Giles

+0

Sie müssen% username% in Anführungszeichen einschließen, wenn Leerzeichen vorhanden sind. 'cmd.exe/c net user"% Benutzername% "> priv.txt' –

Antwort

2

Warum verwenden Sie nicht nur die Variable% username% in Ihrer .bat-Datei? Nur getestet echo% username% gibt den aktuellen Benutzernamen zurück - scheint kein Problem zu sein; wenn Sie einen genauen Fall und Grund haben, warum es nicht funktioniert - klären Sie den Fall. wenn Sie ausgeben möchten Verwendung

echo %username% >> file.txt 
net user %username% >> file.txt