Ergebnis 1 bis 12 von 12

Thema: Batch: Konditional Reagieren

  1. #1

    Batch: Konditional Reagieren

    Ich möchte, das beim Systemstart meines XP-PCs eine Batch-Anwendung gestartet wird, die den Anwender vor die Frage stellt, ob Firefox & ICQ gestartet werden sollen, oder nicht.
    Ich habe die immer im Autostart, doch ich dachte, vielleicht kann ich eine Batch Datei erstellen, mit der man noch entscheiden, ob sie gestartet werden.

    Ich hab also nun sowas zusammengeschrieben, hab aber wenig Kenntniss:
    Code:
    @echo off
    cls
    rem makedisk batch file
    rem created 04/08/08
    rem last modified 04/08/08
    
    
    :eingabe
    echo ######################### Bluesystems Startup Manager ########################
    echo #                                                                            #
    echo # Willkommen beim Windows Start! Moechten Sie ICQ und Firefox starten? (J/N) #
    set /p eingabe=
    goto test
    
    :test
    if "%eingabe%"=="N" goto nein
    if "%eingabe%"=="J" goto ja
    if "%eingabe%"=="Y" goto ja
    if "%eingabe%"=="Z" goto ja
    rem echo Ausgabe zur Kontrolle:
    rem echo eingabe=%eingabe%
    
    :ja
    echo Ja!
    pause 
    exit
    
    :nein
    echo Nein!
    pause
    exit
    Aber völlig egal was man eingibt, es wird immer "Ja!" ausgegeben. Was mach ich beim Funktionsaufruf (oder so ähnlich) falsch? Könnte ich noch einen Countdown angeben, der bei ablauf einfach selbst eine Aktion durchführt, oder ist das schon zuviel für Batch?

    Edit: Gibt es einen parameter für Tunderbird, über das AddOn glecih in den Infobereich zu starten?

    Geändert von Bluescreen (08.04.2008 um 15:16 Uhr)

  2. #2
    Setz mal ans Ende von test noch ein goto eingabe, um zu sehen, ob überhaupt eine von den Bedinungen erfüllt wird. Momentan wird im default Fall automatisch zu :ja gesprungen.

  3. #3
    Zitat Zitat von DFYX Beitrag anzeigen
    Setz mal ans Ende von test noch ein goto eingabe, um zu sehen, ob überhaupt eine von den Bedinungen erfüllt wird. Momentan wird im default Fall automatisch zu :ja gesprungen.
    Okey stimmt, das ist auch noch wichtig, und jetzt hab ich auch meinen Fehler gefunden:
    Groß-& Kleinschreibung wird beachtet! Das hab ich vergessen...

  4. #4
    Hier mal als VB-Skript, ist formschöner:

    Code:
    Set myShell = CreateObject("wscript.shell")
    If MsgBox("Sollen Firefox und ICQ gestartet werden?", vbYesNo or vbQuestion, "Bluesystems Start Manager") = vbYes Then
        myShell.Run("hier den Pfad zu Firefox eintragen")
        myShell.Run("hier den Pfad zu ICQ eintragen")
    End If
    Das Ergebnis ist eine hübsche Message-Box (imo schöner als eine Dos-Box)

    Das ganze als VBS-Datei speichern (z.B. "start.vbs") und statt "hier den Pfad zu XXXX eintragen" auch wirklich den Pfad reintun, z.B. "CProgramme\ICQ\ICQ6.EXE" oder so.

    mfG Cherry

  5. #5
    Es soll vor allem schnell gehen/gestartet sein. Gut, länger brauchen wird es nicht...^^
    Aber ich hab ja noch anderes mit der Batch vor. Aber kann man mein Countdowproblem lösen?
    Macht der Benutzer während des 10 Sek Countdowns nichts, wird dann automatisch ein Fall gewählt?

  6. #6
    nicht so einfach ^^

    egal, ich mach einfach ein kleines Proggi für dich, wo das dann geht.

    mfG Cherry

  7. #7
    Zitat Zitat von Cherry1 Beitrag anzeigen
    nicht so einfach ^^

    egal, ich mach einfach ein kleines Proggi für dich, wo das dann geht.

    mfG Cherry
    Öhm, dann pass es aber folgendermaßen an:


    Code:
    @echo off
    
    rem created 04/08/08
    rem last modified 04/08/08
    
    :eingabe
    cls
    title Bluesystems Startup Manager
    echo ########################## Bluesystems Startup Manager ########################
    echo #                                                                             #
    echo # Willkommen beim W-Start! Moechten Sie die Standardprogramme starten? (J/N)  #
    echo # 'A' fuer alle,'K' fuer keine,'F' fuer FF,'I' fuer ICQ,'T' fuer FF und Thu.  #
    set /p eingabe=#                                                                             
    goto test
    
    :test
    if "%eingabe%" == "K" goto case_nothing
    if "%eingabe%" == "k" goto case_nothing
    if "%eingabe%" == "A" goto case_full
    if "%eingabe%" == "a" goto case_full
    if "%eingabe%" == "F" goto case_firefox
    if "%eingabe%" == "f" goto case_firefox
    if "%eingabe%" == "T" goto case_firethund
    if "%eingabe%" == "t" goto case_firethund
    goto eingabe
    
    :case_full
    echo # Starte Mozilla Firefox ...                                                  #
    start C:\Programme\firefox
    echo # Starte Mozilla Thunderbird ...                                              #
    start C:\Programme\thunderbird
    echo # Starte ICQ 5.1 ...                                                          #
    start C:\Programme\ICQLite\ICQLite.exe -minimize
    start C:\Programme\ICQLite\ICQLite.exe -trayboot
    echo #                                                                             #
    echo ###############################################################################
    exit
    
    :case_firethund
    echo # Starte Mozilla Firefox ...                                                  #
    start C:\Programme\firefox
    echo # Starte Mozilla Thunderbird ...                                              #
    start C:\Programme\thunderbird
    echo #                                                                             #
    echo ###############################################################################
    exit
    
    :case_firefox
    echo # Starte Mozilla Firefox ...                                                  #
    start C:\Programme\firefox
    echo #                                                                             #
    echo ###############################################################################
    exit
    
    :case_nothing
    echo #                                                                             #
    echo ###############################################################################
    exit
    Wie du siehst haben sich die Startoptionen geändert, die Drei reichen dann:
    Alles -> Firefox, Thunderbird, ICQ
    Beide -> Firefox & Thunderbird
    Nichts -> Nichts

    Wird nichts innerhalb von 4 Sec (leicht anpassbar, oder?) ausgwählt, dann nimmt er automatisch alles.
    Wär cool wenn du den Firefox & Thunderbird über CProgramme\Mozilla Firefox und CProgramme\Mozilla Thunderbird starten kannst, ging so nicht wegen den Leerzeichen.

    Danke!

  8. #8
    Achsooo.

    Nein, ich hab das jetzt nur mit Alles-Starten oder Nix-Starten gemacht x.X

    Dafür ist es jetzt noch recht individuell:

    http://cherry1.ch.funpic.de/starter.rar

    Einfach irgendwohin entpacken und eine Verknüpfung ins Autostart machen.

    Die "starter.txt" musst du so einstellen, wie du es brauchst. In die erste Zeile kommt die Frage. In die zweite entweder 1 oder 0, 1 wenn nach 4 Sekunden "ja" gewählt werden soll, 0 wenn nach 4 Sekunden "nein" gewählt werden soll. Und ab der dritten Zeile die Programme aufgelistet, die gestartet werden sollen.


    Wenn du magst, mach ich das auch mit dem Auswählen, was gestartet werden soll, ist dann halt nicht mehr so einfach änderbar für dich

    mfG Cherry

  9. #9
    Muss auch nicht, in was istes denn geschrieben, kann ich ja dann vllt auch selbst editieren und kompiilieren. Es kann halt sein das ich es erweitern will und so.

  10. #10
    In FreeBasic, aber deswegen kannst du es noch lange nicht ändern - es ist ja kompiliert xD

    Passt das sonst so oder soll ich es ändern?

  11. #11
    Zitat Zitat von Cherry1 Beitrag anzeigen
    In FreeBasic, aber deswegen kannst du es noch lange nicht ändern - es ist ja kompiliert xD

    Passt das sonst so oder soll ich es ändern?
    Ich meinte deswegen ja natürlich die unkompilierte Version, mhmm, wenn das auch "Free" zu erhalten ist kann ich's ja kurz laden und dann so anpassen. Schick ma die Quelldateien, Mail/ICQ/stell-sie-rein.
    Und ansonsten müsstest du's noch ändern...
    Kann die EXE auch gleich den Prozess "CTF Loader.exe" beenden? Ich hasse ihn...! ;-)

  12. #12
    ?

    Finde doch raus, wer ihn überhaupt erzeugt und verhindere es!

    @Quellcode: Ich hab das nur mal schnell gemacht - und zwar so, wie es am einfachsten ging. in diesem Fall schäme ich mich für meinen Quellcode ^^

    Also - nein.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •