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

IF bei Batch

Frage Entwicklung Batch & Shell

Mitglied: schulle2

schulle2 (Level 1) - Jetzt verbinden

16.05.2006, aktualisiert 09.06.2006, 3728 Aufrufe, 5 Kommentare

Hallo allerseits!


Ich bin gerade dabei, einen kleinen Batch Script zu schreiben, der NT User zu vollen Namen auflöst:

ECHO Suche: %1 ... >>C:\Temp\Userfullist.txt
FOR /F "tokens=2 delims==" %%i IN ('GetFullName.exe %1 %XDOMAIN%') DO CALL :AUSGABE %1 "%%i"


GOTO :EOF

:AUSGABE

ECHO %~1 %~2 >>C:\Temp\Userfullist.txt


Das klappt auch schon soweit. Der erstellt mir meine Userfullist und ferdisch.
Nun will ich aber, dass wenn die Ausgabe davon = "" ist (also nt user nicht vorhanden), der username in eine extra Datei geschrieben wird. Wenn der Name nicht aufgelöst wird, wie man oben im Script sieht, %1 ... gespeichert.
Da ich ich mir ich mach mal folghendes:

IF "%~1" == "" ECHO %1 >>C:\Temp\test.txt


Klappt nur leider nicht
Ich hab keine Ahnung warum! Kann mir jmd helfen?
Mitglied: Biber
16.05.2006 um 13:32 Uhr
Moin schulle2,

liegt daran, dass Du in der Liste der beiden Parameter, die an die "Routine" Ausgabe übergibt, nie den ersten Parameter leer haben kannst.
Der CMD-Interpreter fängt ja mit dem ersten gefundenen Parameter an - dieser wird dan der Parameter 1.

Dreh die beiden Parameter um, dann geht das:
01.
ECHO Suche: %1 ... >>C:\Temp\Userfullist.txt 
02.
FOR /F "tokens=2 delims==" %%i IN ('GetFullName.exe %1 %XDOMAIN%') DO CALL :AUSGABE "%%i" %1 
03.
 
04.
GOTO :EOF 
05.
 
06.
:AUSGABE Para 2: ist jetzt der Suchname; Para 1 der aufgelöste Name 
07.
IF "%~2" == ""  (  
08.
    ECHO %2 konnte nicht aufgelöst werden! >>C:\Temp\test.txt 
09.
) ELSE ( 
10.
    ECHO %~2 %~1 >>C:\Temp\Userfullist.txt 
11.
12.
GOTo :eof
Hope That Helps
Biber
Bitte warten ..
Mitglied: schulle2
16.05.2006 um 13:59 Uhr
Hi Biber,

danke erst einmal, aber leider gehts immer noch nicht! Es ist immer noch als ob er einfach den User ingnorieren würde!

So sieht das Ergebnis (Userfullist) aus:

Suche: aaa2xe ...
TEster Test aaa2xe
Suche: aab2xe ...
Suche: aac2xe ...
Anderer Tester aac2xe
Suche: aad2xe ...
Nochein Tester aad2xe


aab2xe ist ein nicht vorhandener User (sollt ja eigentlich in der test.txt stehen)
Die wurde aber nicht erstellt...


So gehts mir jetzt schon die ganze Zeit^^

Hat jemand noch eine Idee? Ich verzweifel hier fast!

Danke!
Bitte warten ..
Mitglied: Biber
16.05.2006 um 16:01 Uhr
Na ja,
wenn die Rückgabe von GetFullUser.exe im "Fehlerfall", also wenn der Name nicht aufgelöst werden kann, gar kein zweites Token/gar keinen Wert rechts vom Gleichheitszeichen zurückgibt, dann wird auch der ganze Block "call :Ausgabe" gat nicht gerufen.

Dann musst Du es so abfangen:

01.
ECHO Suche: %1 ... >>C:\Temp\Userfullist.txt 
02.
FOR /F "tokens=1,2 delims==" %%i IN ('GetFullName.exe %1 %XDOMAIN%') DO CALL :AUSGABE "%%i" "%%j" %1 
03.
 
04.
GOTO :EOF 
05.
 
06.
:AUSGABE Para 3: ist jetzt der Suchname; Para 2 der aufgelöste Name, para 1 egal 
07.
IF "%~3" == ""  (  
08.
    ECHO %2 konnte nicht aufgelöst werden! >>C:\Temp\test.txt 
09.
) ELSE ( 
10.
    ECHO %~3 %~2 >>C:\Temp\Userfullist.txt 
11.
12.
GOTo :eof
Bitte warten ..
Mitglied: schulle2
17.05.2006 um 12:16 Uhr
Klappt leider immer noch nicht....
Ergebnis schaut nun so aus:

Suche: aaa2xe ...
aaa2xe
aaa2xe TEster Test
Suche: aab2xe ...
aab2xe
aab2xe
aab2xe
Suche: aad2xe ...
aad2xe
aad2xe Nochein Tester
Bitte warten ..
Mitglied: schulle2
09.06.2006 um 12:07 Uhr
Nach langem hin, her und probieren habe ich es mit Hilfe von Biber doch noch hinbekommen:
FOR /F "delims== tokens=1-2" %%i in ('GetFullname.exe %1 %XDOMAIN%^|find "fullname" ' ) DO @IF [%%j]== [] echo Name %1 konnte nicht aufgelöst werden >>c:\temp\Empty.txt



DANKE!
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (10)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...