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

Nach einer individuell langen For-Schleife Script weiter ausführen

Frage Entwicklung Batch & Shell

Mitglied: Dynarius

Dynarius (Level 1) - Jetzt verbinden

15.04.2011, aktualisiert 18.10.2012, 4262 Aufrufe, 17 Kommentare

Hallo zusammen,

habt ihr ne Idee wie ich nach einer For-Schleife in Batch die immer unterschiedlich lang ist ein Script weiter ausführen kann ??

Ist vlt. ein bisschen dumm erklärt was mein problem jedoch ist, ist das eine for-schleife abläuft die eine .txt prüft welche jedoch immer individuell lang ist sprich immer mehr zeilen bekommt.
so nun möchte ich aber nach dem die For-Schleife die .txt Datei geprüft hat ein Script weiter laufen lassen. Das problem was ich habe ist das ich keinen counter laufen lassen kann da ich nie weiß wie lange die .txt datei ist.
Mitglied: Skyemugen
15.04.2011 um 10:56 Uhr
Aloha,

1.) for-Schleife ... wir reden von ... Batch? Oder wovon?
2.) mal T-Mos Begriffe klau Ohne Ross und Reiter kommen wir nicht weiter, sprich: Du hast ein Skript, poste es doch mal, denn dein Geschriebsel ergibt für mich nur 72% Sinn und der Rest ist dunkel ...
3.) Der Beitrag gehört wohl eher in den Bereich Entwicklung und wenn 1.) zutrifft, dort in Batch & Shell

greetz André
Bitte warten ..
Mitglied: 99045
15.04.2011, aktualisiert 18.10.2012
Moin,

da verweise ich doch glatt auf einen soeben von mir geschriebenen Beitrag in einem anderen Thread:
http://www.administrator.de/forum/for-f-schleife-164639.html#comment-65 ...

Gruß
Bitte warten ..
Mitglied: Skyemugen
15.04.2011 um 11:14 Uhr
Aloha,

ausgehend von deinem Code im falschen Thread ...

01.
@echo off & setlocal 
02.
set "Datei=C:\Export.txt" 
03.
set "Log=C:\fertig.txt" 
04.
 
05.
csvde -d "OU=Users,OU=OU1,DC=Subdomäne,DC=Domäne,DC=de" -f "C:\Export.txt" -l "telephoneNumber,SamAccountName" -s Domänencontroller -t 389 
06.
 
07.
sleep 7 
08.
 
09.
for /F "tokens=7,8 delims=," %%a in ("%Datei%") do call :start %%a %%b 
10.
del "%Datei%" 
11.
goto :eof && REM beendet den Hauptablauf 
12.
 
13.
:start 
14.
set name=%5 
15.
set telefon=%4 
16.
echo %5;%4;1 >> "%Log%" 
17.
goto :eof && REM beendet den Subablauf und springt zurück zu dem Punkt nach der Schleife
greetz André
Bitte warten ..
Mitglied: Dynarius
15.04.2011 um 11:57 Uhr
Ich forste gerade weil er mir dir fertig.txt datei nicht schreibt =(
Bitte warten ..
Mitglied: Skyemugen
15.04.2011 um 12:09 Uhr
Aloha,

mich wundert ein wenig, dass du %%a und %%b übergibst aber im Prozess dann Parameter %5 und %4 verwendest ... müsste da nicht %2 (für %%b) und %1 (für %%a) stehen?

Wobei er nichtsdestotrotz die Datei zumindest anlegen sollte, sie müsste dann aber leer sein.

greetz André
Bitte warten ..
Mitglied: Dynarius
15.04.2011 um 12:13 Uhr
Wieso %2 und %1 ?

an der Stelle gebe ich an welches Wort von dem Wert ausgelesen werden soll. Also das 5te Wort von dem Wert. Funktioniert soweit eig. auch. Nur die Schleife bekomme ich nicht los.

Ich merke auch das er den Call Befehl gar nicht mehr ausführt sondern nur noch die .txt Datei erstellt und sie dann wieder löscht. Eig. sollte er in dem Call Befehl jede Zeile von der Export.txt auslesen und neu in die fertig.txt schreiben.

LG
Bitte warten ..
Mitglied: Skyemugen
15.04.2011 um 12:17 Uhr
Aloha,

er führt also den call Befehl aus, sonst würde er keine .txt erstellen ...
mache doch mal echo on und schau, was er als %name% und %telefon% hat ... (wahrscheinlich gar nichts)

und am Besten gibst du uns auch ein echo %%a %%b, damit wir mal sehen, was du dort eigentlich stehen hast ... und welche Wörter du dort wie mit deinen Parametern auslesen willst, denn so glasklar ist mir das nicht

greetz André
Bitte warten ..
Mitglied: bastla
15.04.2011 um 12:24 Uhr
Hallo Dynarius und Skyemugen!

%4 und %5 sind natürlich bei der Übergabe von nur 2 Parametern sinnfrei - aber das ist beim derzeitigen Stand der ganze Unterprogrammaufruf; wenn nur die entsprechenden Werte in "%Log%" gespeichert werden sollen, einfach:
for /F "usebackq tokens=7,8 delims=," %%a in ("%Datei%") do >>"%Log%" echo %%a;%%b;1
Hinsichtlich der Reihenfolge: Die Ausgabe der Eigenschaftswerte durch "csvde" erfolgt nicht in der Reihenfolge, die beim Aufruf angegeben wurde ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
15.04.2011 um 12:27 Uhr
Aloha bastla!

sehe ich eigentlich auch so, darum wollte ich von ihm noch erfahren, was er dort mit seinen Parametern eigentlich erreichen wollte (ich würde mich nämlich nicht wundern, wenn %%a und %%b selbst nochmal Unterteilungen haben, die er eigentlich loggen wollte ... - so erschien es mir zumindest), bevor man das call ckillt ^_^

greetz André
Bitte warten ..
Mitglied: Dynarius
15.04.2011, aktualisiert 18.10.2012
Sekunde ihr kennt die Vorgeschichte an der Stelle nicht, so einfach wie beschrieben geht es leider nicht. Das habe ich schon in einem anderen Thread gelöst:

http://www.administrator.de/forum/export-aus-ad-mit-ldifde-oder-csvde-% ...
Bitte warten ..
Mitglied: bastla
15.04.2011 um 12:47 Uhr
Hallo Dynarius!

Die Frage von Skyemugen war ja zurecht, was Du dann weiter mit den Daten noch anstellen willst - und das geht aus der Vorgeschichte auch nicht hervor ...

BTW
Das habe ich schon in einem anderen Thread gelöst:
hätte ich dort gar nicht herausgelesen ...

Grüße
bastla
Bitte warten ..
Mitglied: Dynarius
15.04.2011 um 12:51 Uhr
Doch hier habe ich es erklärt:

Ausgabe ---> "CN=Mustermann.Hans,OU=Users,OU=ersteOU,DC=Subdomain,DC=Domain,DC=de",+49 (89) 12345 6756,mustermannha"

eig. benötige ich nur: "6756,mustermannha"

Das funktioniert alles auch super, jedoch möchte ich wie gesagt nachdem die Schleife durch ist die Datei wieder löschen.
Bitte warten ..
Mitglied: bastla
15.04.2011, aktualisiert 18.10.2012
Hallo Dynarius!
Doch hier habe ich es erklärt:
Die Frage war ja auch, was Du dann noch tun wolltest - anyhow:
jedoch möchte ich wie gesagt nachdem die Schleife durch ist die Datei wieder löschen.
Wie das geht, hat doch Skyemugen oben schon gezeigt ...

Grüße
bastla
Bitte warten ..
Mitglied: Dynarius
15.04.2011 um 13:00 Uhr
Habs gelöst danke für eure Hilfe. Wenn ihr die Lösung wissen wollt dann poste ich es auf nachfrage.

Danke
LG
Bitte warten ..
Mitglied: bastla
15.04.2011 um 13:02 Uhr
Hallo Dynarius!
Wenn ihr die Lösung wissen wollt dann poste ich es auf nachfrage.
Das nenne ich einmal eine gesunde Einstellung ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
15.04.2011 um 13:19 Uhr
Aloha,

auch wenn ich bastlas Sarkasmus in diesem Punkt super finde ^_^

geht es hier um mehr als nur dich (als TE) oder uns (als Helfer) sondern um die Leute, die hier sonst noch so mit reinschnuppern, oft auf der Suche nach funktionierenden & passenden Lösungen.

Daher wäre das Posten deiner Endlösung mit parallelem Häkchensetzen (denn eine gelöst Aufgabe ergibt einen als gelöst markierten Thread) doch mehr als nur willkommen.

greetz André
Bitte warten ..
Mitglied: Dynarius
15.04.2011 um 13:30 Uhr
ja ja sorry hier die lösung:

01.
@echo off 
02.
 
03.
If exist C:\fertig.txt then 
04.
del C:\fertig.txt 
05.
EndIf 
06.
 
07.
csvde -d "OU=Users,OU=OU1,DC=Subdomäne,DC=Domäne,DC=de" -f "C:\Export.txt" -l "telephoneNumber,SamAccountName" -s Domänencontroller -t 389 
08.
 
09.
sleep 3 
10.
 
11.
for /F "tokens=7,8 delims=," %%a in (C:\Export.txt) do call :start %%a %%b 
12.
del C:\Export.txt 
13.
 
14.
:start 
15.
echo %5;%4;1 >> C:\fertig.txt
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst CMD: icacls in for-Schleife (2)

Frage von Lowrider614 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Problem bei einer For Schleife (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
gelöst For Schleife kaputt? (5)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...