Batch file Problem beim USB Auswerfen

OP #6063068
Hallo zusammen,

ich habe vereinfacht folgendes Problem:
Ich habe ein batch file geschrieben, welches ein Programm startet. Das 
Batchfile liegt auf einem USB Stick und wird von da gestartet. Das 
Programm liegt allerdings auf der Festplatte. Dieses Programm wiederum 
soll den USB Stick auswerfen. Leider funktioniert das nicht, da Windows 
sagt, dass das Programm vom USB Stick gestartet wurde. Das batch file 
schließt sich ordnungsgemäß, nachdem es das Programm gestartet hat, 
allerdings lässt sich der USB Stick nicht auswerfen.

Das batch file sieht so aus:
1
@echo on
2

3
start D:\Programm.exe
4

5
EXIT

Ich habe für Win XP, Win 7 und Win 10 das gleiche Phänomen. Kann mir 
jemand helfen? Vielen Dank im Voraus.
Gast #6063082
Thomas K. schrieb:

> Ich habe für Win XP, Win 7 und Win 10 das gleiche Phänomen. Kann mir
> jemand helfen?

Der einzige mögliche Ausweg: das Auswerfprogramm muss mit dem Auswerfen 
warten, bis der Batchprozess terminiert hat.

Was ich aber nicht verstehe: Wenn das Auswerfprogramm ohnehin auf dem 
Ziel-PC ist, warum kann das Batchfile nicht auch dort liegen? Damit 
würde sich das Problem von ganz allein in Luft auflösen...
Gast #6063586
Die Frage von c-hater ist leider noch unbeantwortet, wäre vielleicht die 
Lösung.
Aber probiere mal:
1
cd /d D:\
2
start D:\Programm.exe
3
exit

Gruß
WIRO
Gast #6063689
> Kann mir jemand helfen?

Da kann dir keiner helfen.

Solange "Programm.exe" aktiv ist, kann man logischerweise
den Datenträger nicht entfernen...

Darauf sollte auch ein Hauptschöler kommen.
#6063798
Versuch das:
1
cd /d D:\
2
start /I D:\Test.exe
3
exit
Bei mir unter Win10 funktioniert es.

xyz schrieb:
> Solange "Programm.exe" aktiv ist, kann man logischerweise
> den Datenträger nicht entfernen...

So ein Bullshit!
Das Programm muss einfach nur in einer seperaten "Instanz" gestartet 
werden.

xyz schrieb:
> Darauf sollte auch ein Hauptschöler kommen.

"Hauptschöler" ja gut, das erklärt wohl deine Aussage.
Gast #6065333
Thomas K. schrieb:

> WIRO schrieb:
>> cd /d D:\
>> start D:\Programm.exe
>> exit
>
>
> Die Befehlskette funktioniert.

Das ist mehr oder weniger Zufall.

Was MIRO getan hat, ist: er hat dafür gesorgt, das das aktuelle 
Verzeichnis des CMD-Prozesses, der deinen Batch abarbeitet, nicht mehr 
auf dem Stick liegt. Das schließt ein "störendes" Handle. Es gibt aber 
immer noch das Handle, über das der CMD-Prozess auf das Batchfile 
zugreift.

Und nun kommt es darauf an, was schneller ist: CMD mit dem Einlesen und 
ausführen von "exit" oder das von "start" gestartete Programm zum 
Auswerfen des Sticks.

Sprich: du hast nur sicheres Scheitern gegen mögliches Scheitern 
getauscht. OK, ist ein Fortschritt. Aber kompetente Problemlösung geht 
anders...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.