bene
Goto Top

closed Subst in batch script

läuft immer in einer Endlos- Schleife
[Edit Biber] Beitrag ~~closed~~ User hat sich seit der Fragestellung nicht mehr eingelogt bis 20.12.2005 [/Edit]

Hi,
ich wollte nur einen kurzen Batch- Script schreiben der bei jedem Start mitgestarte wird.

c: 
if exist x: subst x: /D 
subst x: c:\folder 

allerdings läuft der Script in einer Endlosschleife :/

Content-Key: 19503

Url: https://administrator.de/contentid/19503

Printed on: April 25, 2024 at 08:04 o'clock

Member: ketchup
ketchup Nov 11, 2005 at 10:25:04 (UTC)
Goto Top
Hi,
ich wollte nur einen kurzen Batch- Script
schreiben der bei jedem Start mitgestarte
wird.

c: 
> if exist x: subst x: /D 
> subst x: c:\folder 
> 

allerdings läuft der Script in einer
Endlosschleife :/


heißt dein Script vielleicht subst.bat oder subst.cmd???? face-wink
wenn ja, dann benenne es einfach um und es wird funktionieren.

jürgen
Member: bENE
bENE Nov 11, 2005 at 10:53:59 (UTC)
Goto Top
is beides das selbe ... immer ne endlosschleife
Member: Biber
Biber Nov 11, 2005 at 11:25:23 (UTC)
Goto Top
Moin bENE,

jürgen hat recht, ist die einzige logische Erklärung.

Alternativlösung: Im Batch schreiben...
if exist x: %windir%\system32\Subst.exe x: /D
%windir%\system32\Subst.exe x: c:\Folder

...oder minimal wenigstens "subst.exe x: ...."

Grüße Biber
Member: nullplan001
nullplan001 Dec 18, 2005 at 12:45:52 (UTC)
Goto Top
Ähm, auch wenn dem User das hier nichts mehr bringt, so will ich doch wenigstens Biber berichtigen: *räusper* seit wann bitteschön kann man mit if exist die Existenz von Laufwerken prüfen? Seitdem Schweine fliegen können, oder was? Die Zeile über die ich mich aufrege, müsste
<div class="code">if exist x:nul subst.exe x: /d</div>
heißen. Also, dass dem Großmeister so ein Fehler unterläuft, ts, ts ts *kopfschüttel*
Na gut, Fehler können jedem unterlaufen, ich wollte nur mal drauf hinweisen.
Grüße
Der Nieplaner
Member: Biber
Biber Dec 18, 2005 at 13:30:09 (UTC)
Goto Top
Ja, ja, Markus,

mein Fehler - ich habe natürlich nur schlampig getestet.. nur auf einem Rechner mit W2K.
$cmd$ if exist f: echo hallo
hallo
$cmd$ if exist q: echo hallo
(Schweigen)

--oder--

$cmd$ if not exist q: (subst q: d:\temp)

$cmd$ subst
Q:\: => D:\temp
...da kommt exakt dieses raus. Kann durchaus sein, dass es bei anderen M$-OSen so nicht funktioniert.
Bei XP ist das Verhalten anders? Danke für den Hinweis.
Es sind doch nur Lösungsvorschläge, die ich hier poste, keine in Marmor gemeißelten final solutions.
Freue mich immer, wenn ich hier lerne.
Schönen Sonntag Dir
Biber
Member: Biber
Biber Dec 19, 2005 at 10:44:42 (UTC)
Goto Top
Moin Markus,

bin jetzt etwas ratlos.... habe eben unter XP Prof Sp2 am CMD-Prompt folgendes Ergebnis:

if exist l: echo Lokal Drive L: exists
Lokal Drive L: exists

if exist y: echo (Netzshare) y:exists
(Netzshare) y:exists

if exist f: echo (gibts nicht) f:exists

Unter welcher Windows-Version funktioniert es denn bei Dir nicht?
Gruß Biber
Member: nullplan001
nullplan001 Dec 19, 2005 at 15:44:19 (UTC)
Goto Top
Ich hatte es gar nicht erst ausprobiert. Mir war nur aufgefallen, dass man mit if exist keine Ordner auf Existenz prüfen kann.
*test* Scheinbar geht es jetzt doch. Interessant, da dementieren 5 Mio. Seiten über Batch-Programmierung, dass es so geht, und dann überzeuge ich mich selbst vom Gegenteil. Guck mal, sogar so etwas geht:
<div class="code">>if exist c:\ @echo c: gibbet
c: gibbet</div>
Das heißt also, dass man das mit Ordnerüberprüfung über nul getrost Stecken lassen kann.
*weiter test* Unglaublich, dass ich das erst jetzt mitschneide. Sogar das hier geht:
<div class="code">D:\
if exist c:\BlueByte @echo c: gibbet
c: gibbet

D:\
if exist c:\BlueByte</u>\</u> @echo c: gibbet
c: gibbet</div>
Nebenbei habe ich W2K Prof.
Member: Biber
Biber Dec 19, 2005 at 18:18:51 (UTC)
Goto Top
Na, Markus,
dann leg ich zur Feier des Tages noch was Undokumentiertes dazu (ist ja immer sehr beliebt)..

Also, bei Deinen Kunden kannst Du auch statt
if exist c:\BlueByte\ @echo c: gibbet
folgendes zaubern, um ein bisschen Product Placement unterzubringen
if exist c:\BlueByte\nul.plan001 @echo c: gibbet

Probiers aus.. face-big-smile
Grüße Biber

P.S. Geht natürlich auch mit "if exist c:\BlueByte\Con.Fetti @echo c: gibbet"...
Member: nullplan001
nullplan001 Dec 20, 2005 at 15:15:14 (UTC)
Goto Top
Ich lach mich schlapp.
Nebenbei: Man kann das mit allen Gerätedateien machen, also nul, con, prn, lpt1-9, com1-9.
Aber ein toller Tipp. Danke.
Member: Biber
Biber Dec 20, 2005 at 16:04:23 (UTC)
Goto Top
Okay, Markus,

nun haben wir hier genug gechattet - ich setze diesen Beitrag wieder auf ~~closed~~ wegen "Fragesteller unbekannt verzogen".
Und mit seiner Frage haben wir uns ja ohnehin nicht mehr befasst.. face-wink

Grüße Biber