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

Ausgedruckt am: 29.03.2024 um 14:03 Uhr

Mitglied: ketchup
ketchup 11.11.2005 um 11:25:04 Uhr
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
Mitglied: bENE
bENE 11.11.2005 um 11:53:59 Uhr
Goto Top
is beides das selbe ... immer ne endlosschleife
Mitglied: Biber
Biber 11.11.2005 um 12:25:23 Uhr
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
Mitglied: nullplan001
nullplan001 18.12.2005 um 13:45:52 Uhr
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
Mitglied: Biber
Biber 18.12.2005 um 14:30:09 Uhr
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
Mitglied: Biber
Biber 19.12.2005 um 11:44:42 Uhr
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
Mitglied: nullplan001
nullplan001 19.12.2005 um 16:44:19 Uhr
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.
Mitglied: Biber
Biber 19.12.2005 um 19:18:51 Uhr
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"...
Mitglied: nullplan001
nullplan001 20.12.2005 um 16:15:14 Uhr
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.
Mitglied: Biber
Biber 20.12.2005 um 17:04:23 Uhr
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