| Windows Dieses Forum dient den Diskussionen rund um alle Microsoft-Betriebssysteme. |
Diskussion: [GELÖST] Probleme mit einer Batch-Datei im Forum Windows, in der Kategorie Operating Systems; Anzeige Hallo zusammen, ich habe mir eine kleine, sehr einfache Batch Datei geschrieben um einen lokalen Webserver zu starten um ...
![]() |
| | #1 (permalink) |
| Registriert seit: 17.04.07 ![]() Likes: 0 | Anzeige Hallo zusammen, ich habe mir eine kleine, sehr einfache Batch Datei geschrieben um einen lokalen Webserver zu starten um im Anschluss direkt den Standardbrower zu öffnen und auf localhost zu verweisen. Code: @echo off cls echo. echo. echo Starte Webserver... start /D "%CD%" /NORMAL nanweb.exe echo. @ping /n 2 localhost >nul echo Starte Browser... start http://localhost @echo on >NUL und 2>NUL klappt nicht. Da wird anscheinend nur die Fehlerausgabe (in der Konsole) umgeleitet, aber keine PopUps unterdrückt. Hat jemand eine Idee? Grüße Thuroc |
| | |
| | #2 (permalink) |
| Hi, meines Wissens gibt es in einer Batch-Datei keine Möglichkeit zu "warten". Zum einen gibt es als lösung das Programm "wait.exe" das du aus der Batch callen kannst. Wenn du auf Externes verzichten willst kannst du folgendes Beispiel mal einbauen. Code: echo >wait.vbs wscript.sleep 5000 cscript wait.vbs del wait.vbs c:windowsnotepad.exe | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 17.04.07 ![]() Likes: 0 | Wenn ich die Problematik mit Batch bisher richtig verstanden habe, werden die Befehle nacheinander ausgeführt. Und genau da ist ja mein Problem. Das warten vor dem Aufruf des localhost klappt ja einwandfrei. Ich muss Windows selber dazu bringen, länger auf das öffnen des Firefox zu bewegen, also die wartezeit WÄHREND eines Befehls verlängern. Es geht im Prinzip also nur um die Zeile "start http://localhost". Der Standardbrowser wird geladen, braucht zu lange und schon wirft Windows mit Fehlermeldungen um sich. Ein paar Sekunden später erscheint dann das korrekte Ergebniss im Browser. |
| | |
| | #4 (permalink) |
| Registriert seit: 17.04.06 ![]() Likes: 3 | So kann man ein Sleep nachbauen. Code: #include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main(int argc, char *argv[])
{
if(argc!=2)
puts("usage: sleep milli-seconds\n");
else
Sleep(atoi(argv[1]));
return 0;
}
__________________ http://chm0815.blogspot.com |
| | |
| | #5 (permalink) |
| Registriert seit: 25.07.06 ![]() Likes: 0 | Warum erhöhst du dann nicht die Zeit, die zwischen dem Starten des Servers und zwischen dem Aufrufen Firefoxs liegt? |
| | |
| | #7 (permalink) | |
| Themenstarter Registriert seit: 17.04.07 ![]() Likes: 0 | Zitat:
Es liegt einfach nur daran, das Windows dem Standardbrowser nicht genug Zeit gibt zu starten. Dann kommt diese Fehlermeldung. Kurz danach ist der Browser fertig geladen und zeigt auch das gewünschte Erebniss an. Vor oder nach dem Befehl "start http://localhost" eine Pause einzufügen bringt also nichts, ich müsste die Pause während der Ausführung des Befehls einbauen. //EDIT Ich hab die Lösung gefunden. Einfach in der Registry nachschauen welcher Standardbrowser gesetzt wurde und ausführen lassen: Code: for /f "skip=2 tokens=4" %%i in ('REG QUERY "HKLM\SOFTWARE\Clients\StartMenuInternet" /v ""') do SET b=%%i
start %b% http://localhost/ >NUL 2>NUL | |
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | hab leider(?) keinen FF, um es zu testen und mein Browser startet schnell genug Code: rundll32.exe url.dll, FileProtocolHandler www.google.de
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #9 (permalink) |
| Themenstarter Registriert seit: 17.04.07 ![]() Likes: 0 | Das mit der rund32ll hab ich auch ausprobiert, da kommt aber der selbe Fehler wie bei meiner ersten Variante. Das Problem scheint einfach zu sein, das Windows selber zu lange braucht um den Standardbrowser abzufragen, und das geschieht sowohl in meiner erstern Version, also auch bei deinem Vorschlag. Die gepostete Lösung schaut ja vorher nach, welcher Standardbrowser gesetzt ist und startet dann gleich das passende Programm, ohne nach einem passenden Programm zu suchen. Genau das scheint der Problemfaktor gewesen zu sein. Windoof halt... |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Batch] Prozessor schliessen, Datei kopieren, Datei löschen | melih_1991 | Code Kitchen | 10 | 17.08.08 17:25 |
| Port öffen mithilfe einer Batch? | dede | Network · LAN, WAN, Firewalls | 8 | 06.05.07 13:42 |
| DOS-Ordner verschieben in einer Batch Datei funktioniert nicht | Bogus | Code Kitchen | 12 | 21.05.06 21:01 |
| Batch Datei | houdini2 | Die Problemzone | 14 | 19.07.05 23:26 |