Archiv verlassen und diese Seite im Standarddesign anzeigen : Batch: Konditional Reagieren
Bluescreen
08.04.2008, 15:12
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:
@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?
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.
Bluescreen
08.04.2008, 17:58
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...
Hier mal als VB-Skript, ist formschöner:
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. "C:\Programme\ICQ\ICQ6.EXE" oder so.
mfG Cherry
Bluescreen
08.04.2008, 18:38
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?
nicht so einfach ^^
egal, ich mach einfach ein kleines Proggi für dich, wo das dann geht.
mfG Cherry
Bluescreen
08.04.2008, 18:46
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:
@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 C:\Programme\Mozilla Firefox und C:\Programme\Mozilla Thunderbird starten kannst, ging so nicht wegen den Leerzeichen.
Danke!
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
Bluescreen
08.04.2008, 19:14
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.
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?
Bluescreen
08.04.2008, 20:38
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...! ;-)
?
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.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.