PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit .bat



DaRake
02.02.2005, 15:59
Hallo,

ich möchte gerne fmsbeep mit POC32 verwenden, dazu habe ich mir eine .bat-Lösung geschrieben. Wenn ich diese über die Befehlszeile ausführe klappt alles bestens, wenn ich die .bat allerdings von POC32 ausführen lasse, dann öffnet sich nur die Eingabeaufforderung als DOS-Fenster.

Was ist in meiner .bat falsch?

Gruß
Sebastian

Phil
02.02.2005, 16:03
setzt mal ein "start" vor die 2. Zeile und nimm ein "Exit" weg!

DaRake
02.02.2005, 18:52
Hallo Phil,

auch diese Änderung bringt nicht den gewünschten Erfolg.

Gruß

Sebastian

felix000
02.02.2005, 18:56
@echo off
C:\Eigene Dateien\POCSAG\POC32\fmsbeep.exe "C:\Eigene Dateien\POCSAG\POC32\alarm.wav" "ALARM" "10000" "33023" "65535" "MS Sans Serif" "45" "255"

Probiers mal so.

Ansonsten:
@echo off
C:\Eigene~1\POCSAG\POC32\fmsbeep.exe "C:\Eigene~1\POCSAG\POC32\alarm.wav" "ALARM" "10000" "33023" "65535" "MS Sans Serif" "45" "255"

DaRake
02.02.2005, 23:26
Hallo,

und erstmal danke für eure Mühen, aber auch die beiden von Felix genannten Vorschläge führen immer noch zum gleichen Ergebnis! Über die Befehlszeile funktioniert die Ausführung wieder, nur mit POC32 erscheint nur das DOS-Fenster, dass dann bei
C:\Eigene Dateien\POCSAG\POC32>
stehen bleibt und nicht die gewünschte Ausführung mitbringt!


Gruß

Sebastian

Newty
03.02.2005, 00:51
Starte doch mal direkt die Batchdatei aus POC32.

Für mich siehts ein wenig so aus, als würdest du die Command aufrufen und die Batch dann als Parameter angeben. Also z. B. cmd C:\test.bat. So erreich ich zumindest ebenfalls die Commandline ohne Aufruf der Batch.

Richtig ist einfach der Aufruf C:\test.bat

DaRake
03.02.2005, 17:42
Hallo Newty,

wenn ich ehrlich bin, weiß ich nicht so recht, was du meinst.
Was in meiner Batch-Datei steht kannst du ja oben nachlesen...

Und der von dir angegebene Befehl "cmd ..." kann nur fehlschlagen, weil die ganze Sache auf einer 98SE-Maschine läuft und da muss der Befehl "command ..." lauten.

Gruß

Sebastian

Newty
06.02.2005, 22:38
Original geschrieben von DaRake
Hallo Newty,

wenn ich ehrlich bin, weiß ich nicht so recht, was du meinst.
Was in meiner Batch-Datei steht kannst du ja oben nachlesen...

Und der von dir angegebene Befehl "cmd ..." kann nur fehlschlagen, weil die ganze Sache auf einer 98SE-Maschine läuft und da muss der Befehl "command ..." lauten.

Gruß

Sebastian

Eben das muss er nicht, die Batchdatei läuft so.

Du rufst m. E. nach die Batch in POC32 nach dem Muster "C:\WINDOWS\COMMAND.COM C:\deinebatch.bat" auf.

Die musst aber nur "C:\deinebatch.bat" aufrufen, damits klappt.

Buebchen
07.02.2005, 00:27
War das nicht so, daß der Aufruf mit /c [Batchname] gemacht werden musste:

command.com <b>/c</b> c:\pfad\batch.bat

Fall der Pfad oder Dateiname ein Leerzeichen enthalten ist das übrigens in Anführungszeichen zu setzen.

DaRake
07.02.2005, 17:00
Hallo,

verstehe euch immernoch nicht, ihr könnt doch weiter oben in meine Batchdatei einsehen.

In POC32 rufe ich direkt diese Batchdatei auf.

Gruß,
Sebastian

Buebchen
07.02.2005, 19:56
Hmmm. Irgendwie reden wir aneinander vorbei.

Nachmal das ganze im Zusammenhang:

Du trägst folgendes als auszuführendes Programm ein:

c:\meinebat.bat

... Und das klappt ja wohl nicht. Alles was du bekommst ist eine DOS Box (Sprich nen Command.com).

Deswegen hatte ich den Vorschlag gemacht folgendes in POC32 einzutragen:

command.com /c c:\meinebat.bat

(Wobei ich jetzt nicht sicher bin, daß das überhaupt so geht - Das läge aber an POC32 und der Art, wie das externe Programm gestartet wird))

Was in der Batch selbst steht ist doch irrelevant. Die Batch wird ja nicht ausgeführt. Nur eine Shell geöffnet. Und das umgeht man mit den /c Schalter.

Oder reden wir jetzt aneinander vorbei ?

DaRake
07.02.2005, 23:55
Hallo Buebchen,

hab deinen Vorschlag mal ausprobiert, passiert gar nix, es erscheint nicht mal mehr das DOS-Fenster.

Hattest mich ansonsten richitg verstanden...

Gruß

Sebastian

nemo18
08.02.2005, 11:08
Hallo Sebastian,

mal ganz nebenbei, kann es sein, dass der Pfad schon weiter vorne nich stimmt? Liegen die "Eigene Dateien" wirklich im Hauptverzeichnis von C:? Weiß nich, wie es bei Windows 98 ist aber bei 2000 liegen die unter "Dokumente und Einstellungen" dann entsprechend unter "user". Überprüf das doch bitte mal.
Ich bin ürbigens auch für die Variante mit dem /eigene~1/ in der Pfadangabe, weil das unterhalb von Windows "liegende" DOS nich so richtig mit Dateinamen/Verzeichnisnamen die länger als 8 Zeichen sind, zurecht kommt.

Und kommentiere doch mal das @echo off aus, dann kannst Du sehen, welche Fehlermeldung(en) er zeigt.

Gruß
Nemo

Buebchen
08.02.2005, 21:31
Wenn das so ohne weiteres nicht geht liegt es vermutlich am ShellExecute, daß POC32 aufruft. ShellExecute ist eine Win32 API Funktion. Und wenn man da nicht die richtigen Parameter nimmt, funktioniert es mal mit DOS, mal mit 16Bit Programmen nicht.

Buebchen
09.02.2005, 00:44
Versuch mal das angehangene Programm. Diese exe macht etwas sehr "dummes":

Sie nimmt die Kommandozeile mit der es gestartet wurde und ersetzt ".exe" durch ".bat". Die resultierende Batchdatei wird dann aufgerufen.

Ruft also poc32 "c:\test.exe" [Parameter1] [Parameter2] auf, so wird daraus dann c:\test.bat [Parameter1] [Parameter2].

Vielleicht hilft das ja.

Die .exe kannst du einfach umbenennen, um sie an verschiedene .bat Dateien anzupassen.

Nur unter XP getestet, sollte aber auch unter 98 laufen.

... Und nur ein "Mal-Eben-Hack" ;-)

DaRake
02.04.2005, 15:24
Hallo Buebchen,

auch mit diesem kleinen Programm funktioniert der Aufruf aus POC32 nicht.

Ich hänge nochmal meine Batch-Dateien an und hoffe, dass irgendjemand Hilfe weiß.

Gruß
Sebastian

DaRake
02.04.2005, 15:25
Und die zweite Batch-Datei.

felix000
02.04.2005, 15:40
Evtl. liegt das Problem am "/embedding". Entferne das mal und teste es dann. Vielleicht kannst du es mit "/close" ersetzen (so funktionierts bei mir).

DaRake
02.04.2005, 17:01
Auch das bringt nicht den gewünschten Erfolg.
An dem /embedding liegt es auch nicht, denn das ausführen über Start -> Ausführen funktioniert. Nur das Ausführen bei Zuordnung einer RIC funktioniert nicht.

Kann es daran liegen, dass eine globale Aktion ausgeführt wird?

Gruß
Sebastian

felix000
02.04.2005, 17:34
Wird die Aktion überhaupt ausgeführt???

Zum Feststellen einfach mal ein "pause" oder ein "time>C:\test.txt" nach dem "@echo off" einfügen.

DaRake
03.04.2005, 15:25
Also,

unter WIN98 klappt es nun mit dem DOSLauncher, unter XP werd ich nochmal rumprobieren!

Danke und Gruß
Sebastian

nils_88
04.04.2005, 01:03
Hi Leute hab ihrschon mal den guten alten CALL befehl probiert ??

-----
@echo off
CALL "C:\Eigene ...
-----
und ich galub du brauchst auch kein "exit"

Da bin ich mir aber nicht so sicher

Nils

DaRake
04.04.2005, 12:26
Original geschrieben von nils_88
Hi Leute hab ihrschon mal den guten alten CALL befehl probiert ??

-----
@echo off
CALL "C:\Eigene ...
-----
und ich glaub du brauchst auch kein "exit"

Was willst du uns oder mir damit sagen?

Gruß
Sebastian

nils_88
06.04.2005, 02:36
wenn ich es richtig mitbekommen habe geht es darum den Soundrecorder aufzurufen ?!
Naja und mein Vorschlag war "CALL"


----
@echo off
CALL C:\Windows\system32\sndrec32.exe /play /embedding C:\Programme\POC32\alarm.wav

----

Davon abgesehen es geht bei meinem XP auch ohne. Ich glaub die Alias Datei ist einfach falsch. Irgendein PATH stimmt nicht oder sowas in der Art.

Nils