Jump to content

ulrich2272

Members
  • Gesamte Inhalte

    6
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von ulrich2272

Apprentice

Apprentice (3/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

10

Reputation in der Community

  1. Hallo, da magst Du wohl recht haben ...;) Trotzdem Danke für Deine/Eure "Richtungsweisungen". Mit bisschen Hirnschmalz hat's ja jetzt doch noch irgendwie geklappt. :jau: bye Uli
  2. Da hab' ich mir jetzt mal was zusammengebastelt... Vielleicht kann sich das ja mal jemand anschauen und evtl. korrigieren. Funktionieren tut's jedenfalls, aber vielleicht geht's ja noch eleganter ?!? @echo off for /f "tokens=2,3 delims= " %%i in ('net use ^| FIND "\\merkur\STARTGui\conf\_share_"') do ( rem echo %%i net use %%i /delete /y )
  3. Hallo nawas, ja, wie gesagt, die Laufwerksbuchstaben werden nach dem Prizip "was als nächstes frei ist", vergeben. Einen fester Buchstabe können wir nicht vergeben (aufgrund Anforderung!). Die Laufwerke werden nicht dauerhaft gemapt (/PERSISTENT:NO) und der reboot würde in jeden Fall helfen, ist aber die Holzhammer-Methode. Gruß
  4. Hallo nawas, ja, wie gesagt, die Laufwerksbuchstaben werden nach dem Prizip "was als nächstes frei ist", vergeben. Einen fester Buchstabe können wir nicht vergeben (aufgrund Anforderung!). Die Laufwerke werden nicht dauerhaft gemapt (/PERSISTENT:NO) und der reboot würde in jeden Fall helfen.
  5. Hallo Nils, Danke! Erstmal - die Variante mit "net use * /delete alle Mappings zu löschen" kommt nicht in Frage... Ich komme an der Stelle um die Laufwerksbuchstaben auszulesen nicht weiter und bräuchte hier Hilfe: Folgedes habe ich bereits: @echo off FOR /F "tokens=*" %%A IN ('net use ^| FIND "STARTGui\conf\_share_"') DO echo %%A Die zeilenweise Ausgabe der Variable %%A sieht wie folgt aus: OK A: \\merkur\STARTGui\conf\_share_ OK B: \\merkur\STARTGui\conf\_share_ OK I: \\merkur\STARTGui\conf\_share_ Wie extrahiere ich jetzt die Laufwerksbuchstaben? schönen Gruß
  6. Hallo liebe Batch-Programmierer, für folgendes Problem suche ich eine Lösung. Ich versuche, Euch das Problem möglichst genau zu schildern: In unserem Unternehmen ist eine "Start-GUI" im Einsatz, welche dazu dient, andere Applikationen mit entsprechend vorher eingestellten Parametern zu starten. Aus der "Start-GUI" heraus wird zudem ein Command-Fenster geöffnet, in welchem ein paar echo-Ausgaben stattfinden. Nach Auswahl der entsprechenden Parameter innerhalb des "Start-GUI" wird eine Applikation gestartet. Parallel wird im Hintergrund ein Netzwerklaufwerk gemappt, und zwar mit dem NÄCHST FREIEN LAUFWERKSBUCHSTABEN (GetFirstFreeDriveLetter) Der Laufwerksbuchstabe kann, (aber muss nicht zwingend) A:\ sein. Ich nenne ihn hier mal "%LW%" Das verbundene Netzwerklaufwerk ist für die Funktion der gestarteten Applikation zwingend notwendig. So lange die Applikation läuft, bleibt auch das Command-Fenster geöffnet. Erst beim Schließen der Applikation wird das Laufwerk per "net use %LW% /DELETE" wieder sauber abgeklemmt und das Command-Fenster geschlossen. Folgendes Problem tritt ein: Der Anwender schließt das Command-Fenster. Dies hat für die Applikation keinerlei Auswirkung, da das Laufwerk bereits gemappt ist. Allerdings ist der Task nun gestorben und das Laufwerk wird bei beenden der Applikation nicht mehr abgeklemmt. Was passiert? -Die Start-GUI und die Applikation wird erneut gestartet -Das Command-Fenster öffnet sich wieder. -Der nächste, freie Laufwerksbuchstabe wird gemappt - > jetzt B:\ -Der Benutzer schließt das Command-Fenster -...und verbindet sich nach und nach alle zur Verfügung stehenden Laufwerksbuchstaben D:\, E:\, F:\ ,bis alle vergeben sind. Das sieht dann in etwa so aus: A: \\merkur\STARTGui\conf\_share_ B: \\merkur\STARTGui\conf\_share_ C: Lokaler Datenträger D: Wechseldatenträger E: Wechseldatenträger F: Wechseldatenträger G: Wechseldatenträger H: DVD-Laufwerk I: \\merkur\STARTGui\conf\_share_ J: \\merkur\STARTGui\conf\_share_ usw.... Der net use sagt folgendes: C:\Documents and Settings\[user]>net use New connections will be remembered. Status Local Remote Network ---------------------------------------------------------------------------------------------------------------------------- OK A: \\merkur\STARTGui\conf\_share_ Microsoft Windows Network OK B: \\merkur\STARTGui\conf\_share_ Microsoft Windows Network OK I: \\merkur\STARTGui\conf\_share_ Microsoft Windows Network OK Z: \\pluto\private$ Microsoft Windows Network The command completed successfully. C:\Documents and Settings\[user]> Die Batch, die gestartet wird müßte um folgendes ergänzt werden: 1: Abrage: existiert das Netzwerklaufwerk "\\merkur\STARTGui\conf\_share_" ? 2: Bedingung: wenn Ja, dann unter welchem Buchstaben? Wenn Nein, starte die Applikation 3: Aktion: Trenne den Laufwerksbuchstaben.%LW% 4: Abfrage: existiert ein weiteres Netzwerklaufwerk "\\merkur\STARTGui\conf\_share_" ? 5: Bedingung: wenn Ja, dann unter welchem Buchstaben? Wenn nein Starte die Applikation. Damit wäre klar, was gemeint ist. Es darf beim start der "Start-GUI" nur ein Netzwerklaufwerk "\\merkur\STARTGui\conf\_share_" mit Variablem Laufwerksbuchstaben vorhanden sein. Die Lösung muss im Batch programmiert sein. Kein VB oder andere "Tricks" wie Fenster verbergen, etc... sind erlaubt! Wer kann mir hier helfen? Bei Fragen stehe ich gerne zur Verfügung Schonmal vielen Dank im Voraus Uli
×
×
  • Neu erstellen...