gelöst Wie Batch nach Programmende starten?

Mitglied: speedygonsales

speedygonsales (Level 1) - Jetzt verbinden

10.12.2008, aktualisiert 12.12.2008, 10599 Aufrufe, 19 Kommentare

Hallo zusammen. Ich habe die Sufu schon benutzt, leider komme ich nicht wirklich weiter.

Ich habe einen Ipod den ich nicht mit iTunes nutzen möchte. Hierzu verwende ich YamiPod. Anders geht es leider nicht.
Das einzige was YamiPod fehlt ist der Auswurfbutton.

Ich sollte folgendes möglich machen. Nur wie???

1. Wenn ich den Pod einstecke, soll er ein bestimmtes Verzeichnis auf %systemdrive% kopieren.
2. Wenn das erledigt ist soll YamiPod starten.
3. Wenn ich dann YamiPod beende soll nach einer gewissen Zeit eine Batch die in dem in 1. kopierten Verzeichniss befindet starten. Mit dieser Batch werfe ich den Ipod sicher aus.

Ich muß den Umweg über die lokale HDD machen, weil wenn ich die batch direkt vom Ipod starte diese nicht läuft. Wie auch, säge ja den eigenen Ast ab.

Villeicht kann mir das Forum mit diesem Problem helfen.

Kai
Mitglied: godlie
10.12.2008 um 14:23 Uhr
Also eine Lösung wäre folgende:
Einfach dein YamiPod per Batch starten, dadurch wird der Befehl welcher danach ausgeführt werden soll einfach danach hingeschrieben.
Probier das mal aus.

grüße
Bitte warten ..
Mitglied: 6741
10.12.2008 um 14:27 Uhr
auch hier ist AutoIT erste Wahl ...

verbunden mit einem Tasklist Befehl, wenn das Programm beendet ist startet die Batch ...

ganz einfach ..
Bitte warten ..
Mitglied: godlie
10.12.2008 um 14:29 Uhr
Ob ich das jetzt mit AutoIT oder gleich mit einer reinen batch mache ist auch nicht mehr als geschmackssache und ich brauch nicht auf die beendigung achten da die Stapelverarbeitung sowieso nur das nächste macht was dort stehen geschrieben steht.

Aber jedem das seine.
Bitte warten ..
Mitglied: speedygonsales
10.12.2008 um 16:03 Uhr
Nur zur Information. Dieser Vorgang muß ohne Installationen in irgendeiner Form funktionieren. Das einzige was auf den betreffenden Rechner kommt ist eben die Batch die das auswerfen startet. Wenn ich zu meinem Bekannten gehe hab ich keine Lust erst was installieren zu müssen.

Ich habe schon mit VBS gearbeitet. Kenn mich aber damit leiden nicht wirklich aus so das ich somit zu keinem Ergebnis komme. Der Vorgang wie in 1. und 2. definiert habe ich bereits am laufen. Würde mich aber freuen wenn ich das alles in eine Batch bzw Script bekomme.
Bitte warten ..
Mitglied: godlie
10.12.2008 um 16:13 Uhr
Ja und wie hast du Punkt 1 und Punkt 2 realisiert?
Woran scheiterts,dass du nach Punkt 2 einfach ein Start deines Yamipods machst und danach den Auswurf?
Bitte warten ..
Mitglied: 72648
10.12.2008 um 16:46 Uhr
Hallo Speedygonsales,

wie wäre es denn hiermit, musst nur noch deine Pfade und den Namen des Prozesses (siehe Taskmanager) eintragen.
Die Batch prüft alle 10 sekunden ob der Prozess deines Programms noch läuft, wenn er beendet ist geht´s weiter.

Allerdings benötigst du auf dem PC auf dem die Batch ausgeführt werden soll das Programm tasklist.exe im system32 ordner!
http://www.computerhope.com/download/winxp/tasklist.exe

Poste mal bitte die Batch mit der du den Ipod auswirfst.
Der inhalt kann übrigens in das unten stehende Skript mit eingebaut werden.

Du kannst die Batch mit der der Ipod entfernt wird aus dieser Batch heraus erzeugen.
Somit haste nur eine Datei die du ausführen musst - Stichwort Ast absägen.

Es wäre sogar möglich die Batch direkt beim anschliessen des Ipod per Autostart auszuführen.

Gruß Milo
Bitte warten ..
Mitglied: speedygonsales
10.12.2008 um 19:47 Uhr
Hi Milo

Das ist bis jetzt der beste lösungsansatz. So hatte ich mir das in etwa gedacht.
Hier noch der befehl zum sicheren entfernen.

Ist das Programm tasklist.exe eigentlich standardmäßig in XP und/oder Vista?

Wenn nein wie kann ich das Programm in den Ordner systen32 kpoieren? Speziel in Vista. Da bin ich immer daran gescheitert das ich vermutlich den Vorgang entweder bestätigen müsste bzw. als Administrator starten muß.

Kannst du mir die auch noch die möglichkeit einbauen das ich die eject.bat aus der o.g. Batch herraus erzeugt.

Thanks

Kai

:edit:

Habe die Batch wie folgt angepasst mit folgendem Ergebniss...

Soweit läuft alles wie gewünscht. Bis auf den aufruf der eject.bat. Da erhalte ich diese Meldung in der DOS Box:


F:\>C:\ipod\deveject "-EjectId:USB\VID_05AC&PID_1260\000A270019E0172A"
DevEject 1.0 2003 c't/Matthias Withopf

Ejecting '@usbstor.inf,%genericbulkonly.devicedesc%;USB-Massenspeichergerõt' [U
SB\VID_05AC&PID_1260\000A270019E0172A]...FAILED (23,6)
Error ejecting device USB\VID_05AC&PID_1260\000A270019E0172A, vetoed (15,6)!

F:\>

Die eject.bat läuft aber wunderbar wenn ich es direkt von HDD Starte.
Bitte warten ..
Mitglied: 72648
11.12.2008 um 13:54 Uhr
Hallo speedygonsales,

Also unter XP Pro und Vista (konnte nur Ultimate testen) ist die tasklist.exe standartmäßig im system32 ordner untergebracht.
Unter XP Home leider nicht.
Du kannst die Datei aber in deinen Tools Ordner auf dem Ipod ablegen, beim start der batch wird dann geprüft ob es die datei auf dem System gibt, falls nicht wird sie eben kopiert!
Das selbe könnte man mit der deveject.exe anstellen, somit musst du also nicht erst was installieren (abgesehen von Yamipod).

Der Grund weshalb du eine Fehlermeldung bei der eject.bat bekommen hast ist einfach:
Scheinbar kann während eine datei ausgeführt wird (hier das Hauptprogramm) das Gerät nicht entfernt werden.
Habe das Problem aber gelöst, (denk ich ) indem die eject.bat nach ihrer erzeugung in einem seperaten 16-bit Speicherbereich gestartet wird und das Hauptprogramm zuvor geschlossen werden kann.

Hier also mal die Überarbeitete Version:

Die eject.bat wird nun aus der batch erzeugt und unter \ipod\eject.bat aufgerufen.

Gruß Milo
Bitte warten ..
Mitglied: speedygonsales
11.12.2008 um 15:24 Uhr
Hallo Milo

Also habe dein Script genommen und wie folgt nur leicht verändert.

Mit folgendem Ergebins.


F:\>ping -n 5 127.0.0.1

Ping wird ausgeführt für 127.0.0.1 mit 32 Bytes Daten:
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128

Ping-Statistik für 127.0.0.1:
Pakete: Gesendet = 5, Empfangen = 5, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

F:\>C:\ipod\deveject "-EjectId:USB\VID_05AC&PID_1260\000A270019E0172A"
DevEject 1.0 2003 c't/Matthias Withopf

Ejecting '@usbstor.inf,%genericbulkonly.devicedesc%;USB-Massenspeichergerõt' [U
SB\VID_05AC&PID_1260\000A270019E0172A]...FAILED (23,6)
Error ejecting device USB\VID_05AC&PID_1260\000A270019E0172A, vetoed (15,6)!

F:\>


Irgendwo muß da ein hund begraben sein...
Bitte warten ..
Mitglied: 72648
11.12.2008 um 15:35 Uhr
Was passiert denn wenn du die unter %systemdrive%\ipod\ erzeugte eject.bat direkt startest?
Ist das Hauptprogramm (also die Batch) denn bereits geschlossen wenn eject.bat gestartet wird?

Gruß Milo
Bitte warten ..
Mitglied: speedygonsales
11.12.2008 um 15:57 Uhr
Die funktioniert wieder einwandfrei. Es müssen aber alle Fenster bzw. Prozesse beendet sein die auf den Ipod verweisen. Das war aber bei der "alten" eject.bat ebenso.
Bitte warten ..
Mitglied: 72648
11.12.2008 um 16:09 Uhr
Komische sache, was passiert denn wenn du in ner cmd den startbefehl einzeln angibst?
Versuche das bitte mal.

also start /separate %systemdrive%\ipod\eject.bat eingeben.
Wie verhält sich deveject, wenn der ipod nicht angeschlossen ist? Gleiche Fehlermeldung?

Gruß Milo
Bitte warten ..
Mitglied: speedygonsales
11.12.2008 um 16:16 Uhr
Ne dann kommt das hier...


C:\Users\abc>ping -n 5 127.0.0.1

Ping wird ausgeführt für 127.0.0.1 mit 32 Bytes Daten:
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Antwort von 127.0.0.1: Bytes=32 Zeit=1ms TTL=128

Ping-Statistik für 127.0.0.1:
Pakete: Gesendet = 5, Empfangen = 5, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 1ms, Mittelwert = 0ms

C:\Users\abc>C:\ipod\deveject "-EjectId:USB\VID_05AC&PID_1260\000A27001
9E0172A"
DevEject 1.0 2003 c't/Matthias Withopf

Error ejecting device USB\VID_05AC&PID_1260\000A270019E0172A, not found (4,0)!

C:\Users\abc>
Bitte warten ..
Mitglied: 72648
11.12.2008 um 16:31 Uhr
Kommt mir vor als könnte deveject das laufwerk nicht trennen, weil darauf noch was ausgeführt wird.
Setzte die zeitverzögerung mit dem ping in Zeile 28 mal testweise auf -n 30

Was anderes fällt mir auf die schnelle nicht ein.

Welches Betriebssystem verwendest du denn momentan?

Gruß Milo
Bitte warten ..
Mitglied: speedygonsales
11.12.2008 um 17:07 Uhr
Ultimate

Ich werds mal checken mit dem Ping
Bitte warten ..
Mitglied: speedygonsales
11.12.2008 um 17:35 Uhr
Ne das mit 30sek geht auch net. Kommt folgendes:


F:\>ping -n 30 127.0.0.1

Ping wird ausgeführt für 127.0.0.1 mit 32 Bytes Daten:
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
.
.
.
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128

Ping-Statistik für 127.0.0.1:
Pakete: Gesendet = 30, Empfangen = 30, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

F:\>C:\ipod\deveject "-EjectId:USB\VID_05AC&PID_1260\000A270019E0172A"
DevEject 1.0 2003 c't/Matthias Withopf

Ejecting '@usbstor.inf,%genericbulkonly.devicedesc%;USB-Massenspeichergerõt' [U
SB\VID_05AC&PID_1260\000A270019E0172A]...FAILED (23,6)
Error ejecting device USB\VID_05AC&PID_1260\000A270019E0172A, vetoed (15,6)!

F:\>

Der Startet die Batch von F: und nicht von %systemdrive%

Wenn ich die Batch direkt von C: starte dann klappts wieder. Man müsste der Batch nur direkt von C: starten lassen.

Bin ein ziehmlicher Klugscheißer gell?
Bitte warten ..
Mitglied: Biber
11.12.2008 um 18:17 Uhr
Moin speedgonsales,

wie wäre es, wenn Du zwischen dem Erzeugen der eject.bat und dem Starten der eject.bat auf Laufwerk %systemdrive% wechselst?
Eigentlich sollte ein tumbes
%systemDrive%
...in der momentan leeren Zeile 27 des Schnipsels reichen.

Grüße
Biber
Bitte warten ..
Mitglied: speedygonsales
11.12.2008 um 19:47 Uhr
Moin Biber

Ich sach mal danke. Genau das wars. Jetzt läuft alles wie gewünscht.

Somit ist der Thread von mir jetzt als "gelößt" Markiert.

Zum guten Schluß hier noch mal der funktionierende Code...

Thanks nochmal an alle die mir geholfen haben!

Kai
Bitte warten ..
Mitglied: 72648
12.12.2008 um 13:58 Uhr
@Biber

Danke für den Hinweis.

Gruß Milo
Bitte warten ..
Heiß diskutierte Inhalte
Benchmarks
M.2 SSD und RAM zu langsam
gelöst MarkowitschFrageBenchmarks22 Kommentare

Hallo zusammen, ich habe mir folgenden PC zusammengestellt : MB: ASUS - ROG Strix Z490-E Gaming Mainboard (90MB12P0-M0EAY0) CPU: ...

Datenbanken
SQL Null Abfrage
gelöst newit1FrageDatenbanken18 Kommentare

Hallo zusammen, ich versuche eine CSV in meine Datenbank zu importieren. Das klappt auch. Die CSV hat folgendes Format: ...

Internet
Wie baue ich ein sicheres Netzwerk auf?
gelöst BitLooserFrageInternet15 Kommentare

Moin moin zusammen:) Die Thema-Überschrift sagt eigtl. schon alles - Da ich vermute, dass dies eine doch recht häufige ...

Netzwerke
Aufbau Praxisnetzwerk mit Fragen (TI, Switch, Firewall, VoIP, Netzwerkdesign)
razorrFrageNetzwerke14 Kommentare

Hallo, ich bin neu hier, aber habe hier schon sehr lange im Forum mitgelesen bzw. mich schlau gemacht und ...

Router & Routing
OPNSense statt Endian Firewall
hannes.hutmacherFrageRouter & Routing14 Kommentare

Hallo zusammen, wir setzen hinter der pfSense, die die direkt am Internet hängt, noch eine Endian Firewall ein. Dazwischen ...

Backup
Veeam Backup-Server aus der Domäne nehmen
redhorseFrageBackup12 Kommentare

Guten Morgen, da in unserer Backupumgebung ein Hardwaretausch ansteht, konzipiere ich gerade Möglichkeiten die Sicherheit zu erhöhen. Konkret geht ...

Ähnliche Inhalte
Server-Hardware
HP iLO 1 - Start Server per Batch
gelöst caspi-pirnaFrageServer-Hardware13 Kommentare

Hallo, ich habe einen betagten Server (HP ProLiant DL385 G1) mit iLo-Schnittstelle (iLo 1.9x) und möchte diesen von einem ...

Batch & Shell

Start über Batch in der Aufgabenplanung sichtbar machen

gelöst hendrik86FrageBatch & Shell4 Kommentare

Guten Abend, ich bin ein kleiner Endanwender mit einer Frage die es theoretisch sehr oft gibt. Die Lösungen helfen ...

Batch & Shell

Brauche ein Batch-Skript - Automatischer PC-Start und Anmeldung

jweghornFrageBatch & Shell15 Kommentare

Hallo zusammen, ich brauche ein Skript um folgendes zu erreichen: 1) Ein PC ist der Haupt-PC und auf diesem liegt ...

Hardware

PC-Start - was passiert?

gelöst MrLabelFrageHardware9 Kommentare

Hallo, ich habe die Aufgabe die Prozesse beim PC Start in der richtigen Reihenfolge zu beschreiben. Meine Frage dreht ...

Windows 10

Nach Start kein Netzwerk

MegaGigaFrageWindows 1011 Kommentare

Moin :-) Bei einem Client bei uns im Netzt habe ich immer nach dem Start/Neustart Probleme mit dem Netzwerk. ...

Batch & Shell

An "Start" anheften - Powershell

today12FrageBatch & Shell9 Kommentare

Hallo Leute, ich versuche mittels Powershell einen Ordner in Start anzuheften. Ich verfolge gerade die Methode über das "Kontextmenü" ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud