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 Forschleife (Batch) nur letzte Wert wird ausgegeben

Mitglied: Backspace

Backspace (Level 1) - Jetzt verbinden

20.12.2010 um 16:43 Uhr, 4837 Aufrufe, 6 Kommentare

Hallo,

01.
for /f "tokens=1,5" %%a in (Pfad1................................) do ( 
02.
 
03.
for /f "tokens=7" %%b in (Pfad2..........................) do set FREE=%%b 
04.
 
05.
wget "http:......"   )
Zeile 3 (die zweite verschachtelte Forschleife) aus obigem Code:

es wird jeweils nur der letzte Wert ausgegeben, alle anderen Werte werden durch den letzten überschrieben.


Danke


Gruß

Backspace
Mitglied: 60730
20.12.2010 um 16:50 Uhr
moin,

  • wenn du eine Schleife mit "tokens=1,5" baust - und als Laufvariable %a nimmst - was genau passiert denn da?
- genau der erste Wert ist %a und der zweite, der an 5. Stelle liegt %b

  • Von daher kannst du keine doppelte Schleife dranhängen und da auch %b benutzen.

Btw:
  • Das ist jetzt der zweite Anlauf mit deinem "psinfo" & Wget - läßt du uns andere auch mal dran teilhaben, was das ganze werden wird?
Denn mit Verlaub - da einen "Sinn" dahinter zu sehen, dass kann keiner - also wirds mit dem helfen auch schwer.
  • do set FREE=%%b - weißt du aber schon, dass das "so" nur einmal geht - schau dir mal die Anleitung zu den Schleifchen an - da hat sich einer Mühe gegeben

  • Vergleiche evtl. auch mal die Länge und den Informationsinhalt deiner Frage, die eigentlich nur Hallo und 2 zeilen um einen 3 zeiligen zerschnippselten Schnippsel ist und meine- Antwort....

Gruß
Bitte warten ..
Mitglied: Backspace
20.12.2010 um 17:43 Uhr
Hallo,

das mit dem Kurz und Knapp war eigentlich gut gemeint, damit nicht allzuviel zum lesen da steht.

Es geht hier um eine Projektarbeit, die freien Speicher ausliest (heterogene Systeme), bei zuwenig Speicher eine Warnung per Mail versendet etc..
Es werden dabei zum Teil wieder neue Vorgaben gemacht, die ich dann entsprechend umsetzen muß, wie auch z.B. die Integration von Sicherheitsfunktionen etc..


Der Code, den ich oben geschrieben habe, ist mehr allgemein gehalten, insbesondere was die Vergabe der Variablen angeht, im Originalcode bei mir habe ich nicht %%a, %%b gewählt, sondern sehr weit auseinanderliegende Buchstaben, hab jetzt beim Schreiben des Codes hier im Forum leider nicht aufgepasst als ich %%a, %%b reinschrieb, Sorry !

Ich soll das Problem mit dem Überschreiben der Werte lösen, ohne die Verwendung einer Textdatei als Zwischenspeicher für die Werte, daher der Versuch mit den verschachtelten Forschleifen.

Hatte die Schleifen zuerst einzeln, leider mit dem gleichen Ergebnis, dass immer eine von beiden (nämlich die, die nicht am wget hing), die Werte überschrieb.

Gruß

Backspace
Bitte warten ..
Mitglied: 60730
20.12.2010 um 17:54 Uhr
Zitat von Backspace:
Hallo,

das mit dem Kurz und Knapp war eigentlich gut gemeint, damit nicht allzuviel zum lesen da steht.
Wir suchen uns schon das raus, was wir brauchen und den Rest können wir ignorieren - ist in meinen Augen sinniger, als sich nen Kopf drüber zu machen, was und wieso ...

Es geht hier um eine Projektarbeit, die freien Speicher ausliest (heterogene Systeme), bei zuwenig Speicher eine Warnung per Mail versendet etc..

  • puh, also für sowas gibts doch Tools en Masse - sogar freie und nix gegen Mark und Bryce Werkzeuge, aber zum freien Platz auslesen - nehm ich doch kein Psinfo - sondern ein Dir...for /f "tokens=3 delims=, " %a in ('dir, c:\') do set free=%a

Der Code, den ich oben geschrieben habe, ist mehr allgemein gehalten, insbesondere was die Vergabe der Variablen angeht, im
Originalcode bei mir habe ich nicht %%a, %%b gewählt, sondern sehr weit auseinanderliegende Buchstaben, hab jetzt beim
Schreiben des Codes hier im Forum leider nicht aufgepasst als ich %%a, %%b reinschrieb, Sorry !

  • grrr - also wenn ich - falls ich tatsächlich mal ne Frage hätte - ich würde die betreffenden Zeilen fürs Forum ganz sicher nicht neu erfinden - sondern den Zustand weitergeben, an dem ich hängengeblieben bin.

Ich soll das Problem mit dem Überschreiben der Werte lösen, ohne die Verwendung einer Textdatei als Zwischenspeicher
für die Werte, daher der Versuch mit den verschachtelten Forschleifen.
Ok nochmal langsam .... du hast da einen dreizeiligen Schnippsel, den so keiner nachvollziehen kann - wer 1,5 und wer 7 ist etc.

Hatte die Schleifen zuerst einzeln, leider mit dem gleichen Ergebnis, dass immer eine von beiden (nämlich die, die nicht am
wget hing), die Werte überschrieb.
Du hast dir aber schon die Mühe gemacht, mal nach einer Anleitung zu suchen, die sich um das Thema For Schleifen in Bädsches kümmert?

Gruß
Bitte warten ..
Mitglied: Backspace
20.12.2010 um 20:39 Uhr
Ja, ich hab mir die Mühe gemacht.


Nichts für Ungut.
Bitte warten ..
Mitglied: Biber
20.12.2010 um 21:08 Uhr
Moin Backstube,

zu den Fähigkeiten, die wir uns im IT-Zeitalter notgedrungen aneignen müssen, wenn wir nicht wie ein Sarrazin enden wollen gehört auf jeden Fall das Filtern und Bewerten von Daten und im zweiten Step das Destillieren von Informationen aus Daten.
Und nach jahrelanger Übung vielleicht und hoffentlich sogar das Destillieren von Wissen aus Informationen.

Bitte versuch auch du, die Kommentare von T-Mo auf verwertbare und vielleicht auch wertvolle Informationen zu scannen und nicht nur auf die T-Mo-typischen freundschaftlich-ruppigen Rüffel anzuspringen.

Wo T-Mo sicherlich recht hat - die Darreichungsform deiner Frage ist ... na ja-wirf selber noch mal einen unvoreingenommen Blick darauf bitte.

Die darauf bezogenen Anmerkungen sind angebracht, aber insgesamt nicht zielführend.

Vielleicht solltest du eher noch mal seine Anregung prüfen, ob nicht für deinen Zweck ein real existierendes Umsonst-und-draußen-One-Trick-Tool sinnvoller wäre.
Immerhin versuchst du schon seit zwei Wochen - wie es vor dir bestenfalls McGuywer geschafft hat - aus Kronenkorken und zwei alten Miesmuscheln irgendetwas von Win95 bis Win8 Beta universal Einsetzbares zu basteln...

Wenn das 14 Tage braucht, dann deutet es doch darauf hin, dass
  • du entweder absolut keinen Draht zum Skripten hast, dafür aber vielleicht supergut Xylophon spielst oder Cartoons zeichnen kannst
  • oder aber, dass dir die Grundlagen zum Handhaben der Werkzeuge fehlen oder das Ziel zu hoch gesteckt (worden) ist
  • oder aber, und vor allem das solltest du prüfen, ob es vielleicht das falsche Werkzeug ist.

Das zeugt doch nicht von Eleganz und handwerklicher Begabung, wenn du deinem Ausbilder beweist, dass du irgendwelche Dübel auch mit dem Vorschlaghammer in die Wand bekommst oder Nägel mit der Schlagbohrmaschine.

Wenn die Anforderungen und Voraussetzungen so weit auseinanderlaufen wie in deinen letzten Posts geschildert,
dann ist es eben nicht das richtige Werkzeug (i.e. PsTools & FOR/F-Anweisungen) für deinen Zweck.

Deshalb beiss dich da nicht trotzig fest an diesem (sehr guten) FOR-Tutorial - sortier doch erstmal, was das Ziel (und was davon Pflicht und was Kür) ist.
Und prüfe dann, welches Tool dich dem Ziel näher bringt.

Grüße
Biber
Bitte warten ..
Mitglied: jeb-the-batcher
21.12.2010 um 08:54 Uhr
Zitat von 60730:
  • wenn du eine Schleife mit "tokens=1,5" baust - und als Laufvariable %a nimmst - was genau passiert denn da?
- genau der erste Wert ist %a und der zweite, der an 5. Stelle liegt %b

  • Von daher kannst du keine doppelte Schleife dranhängen und da auch %b benutzen.

Ja gut erkannt, aber trotzdem falsch.

Gut zu sehen an einem einfachen Beispiel
01.
@echo ON 
02.
for /F "tokens=1,2" %%a IN ("111 222") DO ( 
03.
   FOR %%b IN ("333") DO ( 
04.
      echo %%~a %%~b 
05.
06.
)
Obwohl jetzt durch durch die äußere FOR-Loop tatsächlich in der inneren LOOP echo %%a %%b durch echo 111 222 ersetzt werden,
schafft es cmd.exe danach sich nochmal um zu entscheiden und dann doch lieber echo 111 333 am Ende zu verwenden.

Zu beachten ist auch, das cmd.exe das %%b in FOR %%b ... nicht ersetzt, als wenn klar wäre, dass das nicht so sinnvoll ist.
Sprich in der Inneren Loop kann man nicht an das %%b der äußeren Loop heran kommen.
Die Abarbeitung von FOR-LOOPs scheint sich intern bereits beim ersten Parsen, die Stellen zu merken an denen später ersetzt wird.

Grüße
jeb
Bitte warten ..
Ähnliche Inhalte
Datenbanken

Letzter Datensatz wird zweimal ausgegeben. Warum?

gelöst Frage von Web-SpiritsDatenbanken1 Kommentar

Hallo, Ich habe folgende Prozedur geschrieben: Jetzt wird mir der letzte Datensatz in der Tabelle zweimal ausgegeben und ich ...

Batch & Shell

PowerShell - Werte werden nicht ausgegeben und Formatierung Ausgabe

gelöst Frage von goodbytesBatch & Shell16 Kommentare

Hallo, diese Abfrage im PS-Fenster (Windows PowerShell ISE) gibt im PS-Fenster dieses Ergebnis zurück: Die gleiche Abfrage, nur mit ...

Batch & Shell

Variable enthält nur den letzten Wert

gelöst Frage von Phill93Batch & Shell4 Kommentare

Hallo, bin hier gerade am verzweifeln. Ich möchte einen Variable auf das vorkommen eines bestimmten Strings prüfen. Das klapp ...

Windows Tools

Powershell: Aus String die letzten Werte ermitteln

Frage von ColoneltwWindows Tools3 Kommentare

Hallo liebe Foristen, ich sitze an einem kleinen Powershell Problem. Ich habe einen UNC Pfad und möchte das letzte ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...