Top-Themen

Aktuelle Themen (A bis Z)

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, 4294 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 ..
Ähnliche Inhalte
Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Batch & Shell
FOR Schleife mit LOOP und nachfolgender FOR Schleife
gelöst Frage von miczarBatch & Shell6 Kommentare

Hallo zusammen, ich habe ein Problem mit einem Batchfile. Situation: im Netzwerk ist kein WINS mehr vorhanden und so ...

PHP
Lange Liste und einige häsliche Schleifen
Frage von WPFORGEPHP4 Kommentare

Ich bekomme eine Liste mit ca. 16 Mio Koordinaten (timestamp,value). Die Liste ist nach timestamp aufsteigend geordnet. Jetzt soll ...

Batch & Shell
FOR Schleife läuft nicht
gelöst Frage von sugramBatch & Shell4 Kommentare

Hallo Ich glaube ich sehe den Wald vor lauter Bäumen nicht. Aber ich bekomme die FOR Schleife nicht zum ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 21 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 4 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 5 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows 10
Probleme mit Dateien, deren Pfad + Dateiname länger als 256 Zeichen sind
Frage von FalaffelWindows 1011 Kommentare

Guten Tag, unter Windows 10 scheint es immer noch das Problem zu geben, dass der Pfad + Dateiname einer ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Microsoft Office
Outlook 2016 - Makro startet nicht über Knopf im Menüband
Frage von ZunarasMicrosoft Office9 Kommentare

Schönen guten Tag! ich brauche wieder einmal Hilfe. Ich möchte gerne von Office 2010 32bit auf 2016 64bit wechseln ...