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, 3731 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
Off Topic

"Ich habe nichts zu verbergen"

(1)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
Verschachtelte For Schleife für Batch Neuling (1)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Batch & Shell
gelöst Systemvariable über Batch nicht abrufbar! (7)

Frage von Brotkasten zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (28)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

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