Autostartskript mit Bedinung

Executor55

Lt. Commander
Registriert
Okt. 2004
Beiträge
1.699
Hi
Ich denke mal mein Anliegen lässt sich nur mit nem skript (.bat) lösen, deswegen hab ich den Thread mal hier rein gesetzt. Zumindest fällt mir nichts anderes/besseres ein.

Ich bin unter der Woche mit UMTS im Internet und am Wochenende, wo ich daheim bin, mit DSL.
Jetzt will ich das im Autostart von Windows meine UMTS-Software nur Montag bis Freitag startet und Samstag und Sontag nicht, da aber wiederum andere Anwendungen die nicht unter der Woche starten sollen.
Ich denke mein Anliegen ist jetzt klar geworden.
Jetzt suche ich den "Wenn,dann, sonst"-Befehl für ein .bat-skript der mir das ermöglicht.

Beispiel:
Wenn Tag=Montag bis Freitag
Dann starte UMTS Software
Sonst starte ...

Wär sehr nett wenn mir da jemand erklärt wie ich das hinbekomme, muss auch nicht mit nem .bat-skript sein, soll halt nur irgendwie funzen.
Danke
 
hi

hab sowas ähnlicehs schonmal gemacht (wochentagabfrage).
habs aber grad nicht zur hand.
ich guck mal daheim nach, und schreibs dir dann....
 
Hallo

Würde z.B so auch gehen:

Beispiel:
Sie möchten den Taskmanager und das Windows-Spiel Solitär verzögert nach zwei Minuten starten.

Lösung:
Laden Sie sich unsere verzoegerter-autostart.vbs herunter und verschieben Sie diese Datei in Ihren Windows-Autostart-Ordner. Von nun an wird bei jedem Windows-Start eine Verzögerung von zwei Minuten erzeugt - bis diese Programme gestartet werden.

Zeitlich können Sie das Script natürlich anpassen, dazu editieren Sie bitte folgende Zeile des Scripts:

intWarten = 120000 ' Millisekunden

Wobei zu beachten ist, dass der Wer in Millisekunden angegeben werden muss. Obiger Wert erzeugt eine Verzögerung von zwei Minuten.

Selbstverständlich sollen Sie unsere Beispiel-Datei auch anpassen, editieren Sie folgende Zeile um andere Programme zu starten:

objShell.Exec ("%SystemRoot%\System32\sol.exe")

Wie Sie sehen, können Sie auch absolute Pfade nutzen. Selbstverständlich können Sie aber auch den direkten Pfad angeben, z.B.:
objShell.Exec ("c:\Windows\system32\notepad.exe")
Wenn Sie mehrere Programme verzögert starten wollen, so fügen Sie einfach eine neue Zeile in das Script ein, ändern Sie den Pfad und die Datei die gestartetet werden soll. Als Beispiel dient unsere Datei - es werden zwei Anwendungen gestartet

PS: Etwas googeln könnte auch mal helfen.

Mit Freundlichen Gruß
 
Hallo erst einmal,

kann mich auch irren aber kann man in einer *.bat den Wochentag abfragen?

Wenn du Lust hast auch etwas zu lernen würde ich dir AutoIT ans Herz legen.

http://www.autoitscript.com/autoit3/

Da gibt es den Befehl: _DateDayOfWeek

Der gibt den Wochentag in Form einer Zahl zurück. Montag = 1, Dienstag = 2, usw.


Es lohnt sich wirklich sich die Sprache einmal anzusehen. Ist IMHO sehr einfach.

lg,
test


@ dReaM_WoRLd:

Was hat denn das mit der Aufgabenstellung zu tun?
Er will so weit ich verstanden haben, Mo-Fr. ein anderes Programm automatisch starten als am Sa. und So.
Was hilft ihm eine Verzögerung?

Jedoch mit vbs sicher auch machbar aber frag mich nicht wie!
 
Zuletzt bearbeitet:
In VBS gibt es WeekDay(datum).
Um den aktuellen Wochentag abzufragen also: WeekDay(Date)
Dein Script sähe so aus (ich starte mal notepad oder calc, das mss man halt anpassen):
Code:
Set shell = CreateObject("WScript.Shell")

if weekday(date) < 7 and weekday(date) > 1 then
shell.run("calc")
else
shell.run("notepad")
end if

also wird am wochenende notepad und unter der woche calc gestartet.

mfg
 
S.a.M. schrieb:
hab sowas ähnlicehs schonmal gemacht (wochentagabfrage).
habs aber grad nicht zur hand.
ich guck mal daheim nach, und schreibs dir dann....
Wär cool danke

@dReaM_WoRLd
Danke für die Hilfe aber wie test schon sagt hat das nichts mit meinem Anliegen zu tun

test schrieb:
kann mich auch irren aber kann man in einer *.bat den Wochentag abfragen?
Das ist ja eigentlich die Frage! Ich hoffe doch mal, damit hätte ich ja das was ich will.
Bedingung mit Wochentagabfrage -> Anwendung starten lassen.
Zu der sache mit dem AutoIt 3 ... würde mein Problem auch lösen denke ich. Das würde ich auch nach 10 min einlesen usw. sogar selbst hinbekommen. Hab Grundkenntnisse im programmiern und skripten. Die Frage ist halt ob das erstellte .au3-skript auch ohne das Programm ausführbar ist?!

@Backslash
Wie erstelle ich ein VBS? *dummfrag*


Am liebsten wäre mir immernoch eine Variable in einem .bat-skript, das mir den Wochentag zurückgibt (1-7, Sonntag-Samstag ... oder so ähnlich)
 
suchh dochmal nach taskmanagern gibt da nen paar schönen wo de die programme nur eintragen musst und die tage oder uhrzeiten dazu angeben, meist nehmen die programme zugriff auf den windows taskmanager

ich selber benutze teilweise einen damit der rechner nachts abschaltet in stand by und morgens wiedeer angeht, recht nützlich für öffentliche rechner :)
da gibts hübsche dinger
 
VBS erstellen... in den Editor eintippen und als *.vbs speichern. Fertig. ;) Lässt sich dann ausführen.

mfg
 
Sehr gut, das mit dem VBSkript funzt doch schonmal ganz prächtig :D
Kleine Frage:
shell.run("C:\Programme\Mozilla Firefox\firefox.exe")

VBS kommt mit dem Leerzeichen zwischen Mozilla und Firefox nicht klar ... wie schreibt man das?
 
Das geht so: shell.run("""C:\Programme\Mozilla Firefox\firefox.exe""")

Der Grund ist, dass die shell normalerweise Leerstellen zur Trennung von Argumenten benutzt. Durch die zusätzlichen Anführungszeichen sind aber in dem Befehl auch anführungszeichen drin was dafür sorgt, dass dies außer Kraft gesetzt wird.

mfg
 
@Backslash
Das funktioniert immer noch nicht richtig mit dem Leerzeichen.
shell.run(""C:\Programme\Mozilla Firefox\firefox.exe"")
bringt einen Fehler

Weil es mich dennoch interessiert wie es mit einem .bat-Skript zu realisieren ist, werde ich jetzt auch nochmal darauf eingehn.
S.a.M. hat mir diesbezüglich auch eine PM mit nem .bat-Skript geschickt, das aber leider nicht funktioniert.

@echo off
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set today=%%a

if "%today%" == "Mo," goto Mo
if "%today%" == "Di," goto Di
if "%today%" == "Mi," goto Mi
if "%today%" == "Do," goto Do
if "%today%" == "Fr," goto Fr
if "%today%" == "Sa," goto Sa
if "%today%" == "So," goto So

:Mo
echo Montag
goto ende

:Di
ehco Dienstag
goto ende

:Mi
echo Mittwoch
goto ende

:Do
echo Donnerstag
goto ende

:Fr
echo Freitag
goto ende

:Sa
echo Samstag
goto ende

:So
echo Sonntag
goto ende

:ende
pause
exit
So das "echo Montag" kann ich ja dann in "start C:\Programme\...exe" ändern aber das ist ja erstmal nebensächlich.
Es sieht so aus, das das Skript nur das was unter :Mo steht ausführt.
Ich schätze mal, weil der Wochentag nicht unter %Today% abgespeichert wurde, oder unter einem anderen Format.

Weis es jemand besser?
 
Zuletzt bearbeitet:
*räusper* ist ja auch falsch was du ins vbs eingeben hast... da warn mehr anführungszeichen.

mfg
 
Also das .bat-Script funzt jetzt auch. Ich musste noch in der Systemsteuerung das Datumsformat anpassen, damit es ging. (Siehe Anhang)

Kleiner Schönheitsfehler, den man noch beseitigen könnte wäre das "Drücken Sie eine beliebige Taste ..." am Ende des Scripts, damit das Fenster automatisch zugeht.
Weis einer wie man das hinbekommt?
Ansonsten Danke für alles!
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    79,6 KB · Aufrufe: 211
Zurück
Oben