Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Windows Dieses Forum dient den Diskussionen rund um alle Microsoft-Betriebssysteme.

[GELÖST] Probleme mit einer Batch-Datei

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 ...

Antwort
Alt 15.01.08, 16:12   #1 (permalink)
 
Registriert seit: 17.04.07
Proma Leistung: Facit NTK
Likes: 0
Standard [GELÖST] Probleme mit einer Batch-Datei

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
Der Befehl Ping verschafft mir nur 2 Sekunden Zeit, bis der Server gestartet ist ohne das jemand eine Taste drücken muss. Mein Problem ist nun, das Windows zu lange braucht um (in meinem Fall) Firefox schnell genug zu öffnen. Es erscheint die Fehlermeldung das http://localhost nicht geöffnet werden konnte. Ein paar Sekunden nach der Meldung erscheint dann Firefox mit dem gewünschten Inhalt. Im Prinzip klappt also alles, nur möchte ich diese nervige Fehlermeldung von Win abschalten.

>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
Proma ist offline   Mit Zitat antworten
Alt 15.01.08, 16:28   #2 (permalink)
 
Registriert seit: 07.09.05
Mortiis Leistung: Facit NTK
Mortiis eine Nachricht über ICQ schicken
Likes: 0
Standard

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
Das tut nichts anderes als sich temporär ein kleines vbscript zu bauen welches dann den Sleep ausführt.GreetsMortiis
Mortiis ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 15.01.08, 16:31   #3 (permalink)
Themenstarter
 
Registriert seit: 17.04.07
Proma Leistung: Facit NTK
Likes: 0
Standard

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.
Proma ist offline   Mit Zitat antworten
Alt 15.01.08, 21:03   #4 (permalink)
 
Benutzerbild von mauralix
 
Registriert seit: 17.04.06
mauralix Leistung: 8086
Likes: 3
Standard

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;
}
mauralix ist offline   Mit Zitat antworten
Alt 15.01.08, 21:28   #5 (permalink)
 
Registriert seit: 25.07.06
valenterry Leistung: Facit NTK
Likes: 0
Standard

Warum erhöhst du dann nicht die Zeit, die zwischen dem Starten des Servers und zwischen dem Aufrufen Firefoxs liegt?
valenterry ist offline   Mit Zitat antworten
Alt 15.01.08, 22:55   #6 (permalink)
 
Registriert seit: 08.08.04
da_fighter Leistung: Z3
da_fighter eine Nachricht über ICQ schicken
Likes: 0
Standard

edit: mist, hatte was überlesen, sry-.-
da_fighter ist offline   Mit Zitat antworten
Alt 16.01.08, 08:55   #7 (permalink)
Themenstarter
 
Registriert seit: 17.04.07
Proma Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von valenterry
Warum erhöhst du dann nicht die Zeit, die zwischen dem Starten des Servers und zwischen dem Aufrufen Firefoxs liegt?
Weil es nicht daran liegt.

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
Proma ist offline   Mit Zitat antworten
Alt 16.01.08, 12:34   #8 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

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.
CDW ist offline   Mit Zitat antworten
Alt 16.01.08, 14:07   #9 (permalink)
Themenstarter
 
Registriert seit: 17.04.07
Proma Leistung: Facit NTK
Likes: 0
Standard

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...
Proma ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Windows » [GELÖST] Probleme mit einer Batch-Datei
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61