Ist mein vorhaben bzw. wunsch möglich?
Hallo, ich hoffe das man mir wenigstens hier hilft. in nem anderen forum wurde mir noch nicht mal geantwortet -.-, folgendes,
ich wollte eine batch datei schreiben jedoch ist mein vorhaben für mich zu kompliziert. ich habe mich im forum umgesehen und bemerkt das es einige experten auf dieser seite gibt, die das ganze in einer sehr kurz zeit machen könnten...
das programm sollte folgendes tun:
1. Auf ein ordner zugreifen -> programm starten
2. anschließend 15 sek warten.
3. eine zahl zwischen 5-60 zufällig aussuchen
4. je nach zufälliger zahl so lange warten (beispiel 16 ist die zufallszahl...also 16 sekunden warten)
5. bestimmte internetseite öffnen
6. nach 4 sekunden internet seite schließen
7. und das ganze unendlich wiederholen bis ich dem programm befehle aufzuhören
Im voraus vielen vielen dank
ich wollte eine batch datei schreiben jedoch ist mein vorhaben für mich zu kompliziert. ich habe mich im forum umgesehen und bemerkt das es einige experten auf dieser seite gibt, die das ganze in einer sehr kurz zeit machen könnten...
das programm sollte folgendes tun:
1. Auf ein ordner zugreifen -> programm starten
2. anschließend 15 sek warten.
3. eine zahl zwischen 5-60 zufällig aussuchen
4. je nach zufälliger zahl so lange warten (beispiel 16 ist die zufallszahl...also 16 sekunden warten)
5. bestimmte internetseite öffnen
6. nach 4 sekunden internet seite schließen
7. und das ganze unendlich wiederholen bis ich dem programm befehle aufzuhören
Im voraus vielen vielen dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70385
Url: https://administrator.de/contentid/70385
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
13 Kommentare
Neuester Kommentar
Hi,
ich bin zwar nicht der batch freak oder so aber vielleicht hilft das dir weiter.
1. start "C:\Programm.exe"
2. Es gibt von MS ne sleep.exe damit sollte man eine pause machen können.
3. Weiss ich leider nicht.
4. Siehe nr. 2
5. "C:\Orderzumie\iexplorer.exe" // als Parameter kann mann ne URL übergeben meine ich
6. Mhh vielleciht mit TASKKILL
7. GOTO start ;)
ich bin zwar nicht der batch freak oder so aber vielleicht hilft das dir weiter.
1. start "C:\Programm.exe"
2. Es gibt von MS ne sleep.exe damit sollte man eine pause machen können.
3. Weiss ich leider nicht.
4. Siehe nr. 2
5. "C:\Orderzumie\iexplorer.exe" // als Parameter kann mann ne URL übergeben meine ich
6. Mhh vielleciht mit TASKKILL
7. GOTO start ;)
Kopier dier folgende Packages:
+ PBATS - Batch Tools
+ Windows Server 2003 Resource Kit Tools
Bei den PBATS findest du die Datei RANDOM.COM, welche dir hilft die Zufallszahlen zu generieren.
Weiters findest du im ResourceKit die Datei SLEEP.EXE. Diese wirde benötigt um den Batchvorgang
für x Sekunden anzuhalten.
Die Batch-File könnte dann wie folgt aussehen:
Leider weiß ich nicht genau was du vorhast, deswegen kann ich nicht sicher
sage ob das so passt. Vllt. schreibst du uns auch was der Sinn dahinter ist,
eventuell können wir dann eine bessere Lösung liefern.
Mit freundlichem Gruß
zacharias
EDIT:
Wenn der InternetExplorer dein StdBrowser ist, reicht es aus, wenn du "START URL"
schreibst. Aufpassen musst du auch mit TaskKill. Leider kenne ich keine Möglichkeit
die PID des gestarteten Prozesses auszulesen, d.h. es wird geraten wenn du nur
EINEN InternetExplorer zum Zeitpunkt des Ausführens von TaskKill hast. Sonst könnte
es passieren, dass ein anderer IEXPLORER-Prozess beendet wird.
+ PBATS - Batch Tools
+ Windows Server 2003 Resource Kit Tools
Bei den PBATS findest du die Datei RANDOM.COM, welche dir hilft die Zufallszahlen zu generieren.
Weiters findest du im ResourceKit die Datei SLEEP.EXE. Diese wirde benötigt um den Batchvorgang
für x Sekunden anzuhalten.
Die Batch-File könnte dann wie folgt aussehen:
:MyLoop
START CALC.EXE
REM SLEEP 15
FOR /F %%i IN ('RANDOM 6,9') DO SLEEP %%i
START "" "%PROGRAMFILES%\INTERNET EXPLORER\IEXPLORE.EXE" https://www.administrator
SLEEP 4
TASKKILL /F /IM IEXPLORE.EXE
GOTO MyLoop
Leider weiß ich nicht genau was du vorhast, deswegen kann ich nicht sicher
sage ob das so passt. Vllt. schreibst du uns auch was der Sinn dahinter ist,
eventuell können wir dann eine bessere Lösung liefern.
Mit freundlichem Gruß
zacharias
EDIT:
Wenn der InternetExplorer dein StdBrowser ist, reicht es aus, wenn du "START URL"
schreibst. Aufpassen musst du auch mit TaskKill. Leider kenne ich keine Möglichkeit
die PID des gestarteten Prozesses auszulesen, d.h. es wird geraten wenn du nur
EINEN InternetExplorer zum Zeitpunkt des Ausführens von TaskKill hast. Sonst könnte
es passieren, dass ein anderer IEXPLORER-Prozess beendet wird.
Hallo,
jetzt hab ich mir die mühe gemacht um dies zu schreiben also poste ich es auch
q
da dies ein forum ist um den Leuten zu helfen, denkanstösse zu geben und ihn bei komplizierten Problemstellungen auf den richtigen Weg zu leiten, wird es ungern gesehen wenn leute ohne vorkenntnisse hier ein script für ein ganzen programm haben wollen.
Darum habe ich dir einen einfachen script geschrieben, damit du auch verstehst und lernst wofür welcher Befehl und welcher Parameter benutzt wird. Es gibt auch schönere (kürzere) Scripte in Form von for-schleifen um dies zu reallisieren. Aber ich denke so siehst du besser durch und kannst es auch in deinem sinne Ändern, da deine beschreibung etwas knapp ausgefallen ist...
zu 1.
Ich nehme an das du dein programm starten möchtest. Also nimmst du das fertige script, kopierst es in eine *.txt datei und speicherst sie dann an einen beliebigen Ort deiner Wahl auf deiner Festplatte. Du kannst ja eine windows-Verknüpfung von der stappel-verarbeitungsdatei auf dem Desktop anlegen.
zu 2.
Eine richtige Time-funktion gibt es in Batch meines wissends nicht, darum reallisiere ich dies immer mit dem ping-befehl, welcher datenpakete an eine Ip-adresse sendet und auf antwort wartet. Wenn diese adresse nicht belegt ist bricht er nach einer sekunde ab und sendet ein neues Datenpaket aus.
dies geschiet normalerweise in form von (bsp):
(Befehl) (Ip-adresse)
In dieser form können wir es nicht stehen lassen da dies jediglich 4 mal wiederholen würde.
Darum modifizieren wir den ping-befehl mit "-n x". Dies bewirkt das nur eine bestimmte anzahl von paketen/durchläufen gesendet wird. Wobei x für die Anzahl der durchläufe steht.
Dies sieht dann so aus (wie in deinem Beispiel):
(Befehl) (Option) (Anzahl x) (IP-Adresse die nicht erreicht werden kann)
Damit dieser Befehl nicht immer auf den Bildschirm ausgegeben wird leite ich dir hier die Ausgabe in eine datei um. Dies wird durch ">" oder ">>" beschrieben. Wobei ein ">" es ausgibt und die Datei über schreibt und ">>" ausgibt und die datei zeilenweise erweitert.
Nach dem > bzw. >> kommt die Dateibezeichnung mit Dateiendung. Lässt du die Dateiendung weg, wird automatisch eine .dat Datei erstellt.
Du kannst die datei dann im gleichen ordner wie die Batch finden und mit einem Texteditor öffnen, dann siehst du was ich meine.
also komplett sieht es dann so aus
(Befehl) (Option) (Anzahl x) (IP-Adresse die nicht erreicht werden kann) (Datei mit endung)
zu 3.
es gibt eine random-variable im batch. Um variablen zu benutzen muss man sie in %-zeichen "umhüllen". Dies sieht dann so aus.
da diese Variable bis zu 5 stellen groß sein kann (6 wäre auch denkbar...? frag mich nicht wie ich darauf komme.. )
muss man sie so defienieren das sie man nur die letzten beiden ziffern benutzt. Dies kann man auf mehrere Weisen machen.
eine lösung wäre von der variable nur die letzten beiden Zeichen zu benutzten. Dies sieht dann so aus:
das ":~" ist eine festgeschriebene zeichenfolge damit die Batch weis: "ok, nun beschränke ich die Variable". Das minus gibt an das von hinten gezählt wir und die 2 gibt die stellen an. Man könnte auch nur mittendrin einen teil "ausschneiden von der Variable.
Dies würde beispielsweise so aussehen:
In diesem Fall ist a eine beispielvariable die aber vorher deklariert (definiert) werden muss, aber dazu später.
Bei diesem Beispiel gibt die Zahl vor dem Komma, also die 2, an wieviele Zeichen am anfang weggelassen werden und die 3, nach dem komma, gibt an wieviele am schluss weggelassen werden.
Beispiel:
dann ist %a:~2,3%=34
ok und da dies sehr aufwendig ist zu schreiben und unnütz zeit beansprucht packen wir nun die letzten beiden zahlen in eine Variable.
Dies erfolgt über den Befehl Set. Set "setzt" die Variable in folgender Form
(befehl) (variable)=(wert)
Man kann auch über set mit variablen rechnen oder eingabezeilen einlesen. dies erfolgt über set /a und set /p.
Damit der Wert jetzt aber kleiner bleibt wie 60 brauchst du noch 2 Befehle den if-Befehl und den goto-Befehl.
Der If-Befehl ist sehr wichtig beim programmieren da man mit diesem befehl quasi alles vergleicht und überprüft.
in diesem fall wollen wir überprüfen ob der Wert von %a% kleiner gleich 60 ist. Dann musst du noch einen Befehl angeben was passieren soll, sollte der Wert kleiner gleich 60 sein. Dies sieht dann so aus:
(befehl) (variable) (Vergleichsoperator in diesem fall <=) (wert der verglichen werden soll) (befehl der ausgeführt werden soll wenn Aussage wahr)
also:
(wenn)(a)(<=)(60) (dann führe aus "goto main")
Der goto Befel springt zu einer von dir gesetzten Marke. Diese Marke kann überall, ob über oder unter dem momentanen Punkt liegen und wird durch ein vorangestellten doppelpunkt definiert.Bsp:
in diesem Fall überspringst du wenn %a% <= 60 ist den Echo befehl. Dieser gibt übrigens Text auf den Bildschirm aus.
Dies allein reicht aber nichtaus, denn sollte es mal nicht so sein brauchst du noch eine rücksicherung. Sprich am besten nochmal zurück und von vorn. dafür gibt es die If-Erweiterung else. diese Besagt "wenn nicht dann mach" und wieder ein Befehl. In deinem Fall setzen wir wieder eine Marke und springen zurück. Dies sieht dann so aus:
so springt er immer schön zurück und erstellt dir eine neue Zufallszahl bis diese deinen Wünschen entspricht.
zu 4.
Dies müsstest du nun allein hinbekommen.
hier wurde die 15, von vorhin, mit der Variable von deinem zufallswert ausgetauscht.
zu 5.
nun bist du beim Hauptprogramm. Du hast die bedingungen überprüft und erfüllt nun soll er endlich das machen wofür du das programm brauchst. Da du nicht angegeben hast welche seite du öffnen möchtest speichern wir diese über eine eingabe in ein Variable. Dies sieht dann so aus:
hier wird noch mit einem If-Befehl überprüft ob auch etwas eingegeben wurde, wenn nicht dann noch mal
dann brauchst du nur noch den start-Befehl, welcher, wie der Name schon verrät, dir deinen explorer startet. Dies sieht dann so aus:
(befehl) (Programm !!!Datei-endung immer mit angeben!!!)
In diesem Fall öffnet sich aber nur der explorer mit der startseite. Wenn du eine bestimmte Seite öffnen willst musst du diese dahinter schreiben. dies machen wir hier mit der vorher abgefragten Variable. Siehe selbst:
zu 6.
wieder warten über den ping befehl, welcher in eine Datei ausgegeben wird:
zu 7.
Beendet wird ein Programm mit dem taskkill-Befehl. Mit diesem allein wirst du dies nicht hinbekommen. Du brauchst noch 2 weitere Optionen um eine *.exe zuschließen. Da wäre zum einen "/f", dies erzwinkt das beenden deines internetexplorers und zum anderen wäre da die option "/im" dieser ermöglicht dir einfach nur iexplorer.exe einzugeben ohne groß rum zu rätseln welchen task du nun beenden musst.
Dies sieht dann sehr simpel so aus:
(Befehl) (option zum erzw.) (option zum erkennen) (Task-name, bzw. abbild !!!Wieder wichtig die Dateiendung!!!)
nun zum Schluss noch ein goto-Befehl der dich wieder zur neuen Zufallsvariablenbestimmung bringt. Damit das programm von neuen startet.
Noch ein kleiner Hinweis:
Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht-interaktive Bearbeitung von Aufgaben. Was soviel heißt das die Befehle nacheinander (wie in einem stappel von oben nach unten) abgearbeitet werden.
Sprich du musst die Befehle so anordnen das deine vorgegebene Abfolge auch in der Datei richtig beschrieben ist.
und hier noch mal das komplette Script! Viel Spaß damit und gib doch mal ein kleinen Feedback ob du es verstanden hast und ob es geklappt hat.
hab es nämlich nicht getestet.
jetzt hab ich mir die mühe gemacht um dies zu schreiben also poste ich es auch
q
da dies ein forum ist um den Leuten zu helfen, denkanstösse zu geben und ihn bei komplizierten Problemstellungen auf den richtigen Weg zu leiten, wird es ungern gesehen wenn leute ohne vorkenntnisse hier ein script für ein ganzen programm haben wollen.
Darum habe ich dir einen einfachen script geschrieben, damit du auch verstehst und lernst wofür welcher Befehl und welcher Parameter benutzt wird. Es gibt auch schönere (kürzere) Scripte in Form von for-schleifen um dies zu reallisieren. Aber ich denke so siehst du besser durch und kannst es auch in deinem sinne Ändern, da deine beschreibung etwas knapp ausgefallen ist...
zu 1.
Ich nehme an das du dein programm starten möchtest. Also nimmst du das fertige script, kopierst es in eine *.txt datei und speicherst sie dann an einen beliebigen Ort deiner Wahl auf deiner Festplatte. Du kannst ja eine windows-Verknüpfung von der stappel-verarbeitungsdatei auf dem Desktop anlegen.
zu 2.
Eine richtige Time-funktion gibt es in Batch meines wissends nicht, darum reallisiere ich dies immer mit dem ping-befehl, welcher datenpakete an eine Ip-adresse sendet und auf antwort wartet. Wenn diese adresse nicht belegt ist bricht er nach einer sekunde ab und sendet ein neues Datenpaket aus.
dies geschiet normalerweise in form von (bsp):
ping 192.168.0.1
In dieser form können wir es nicht stehen lassen da dies jediglich 4 mal wiederholen würde.
Darum modifizieren wir den ping-befehl mit "-n x". Dies bewirkt das nur eine bestimmte anzahl von paketen/durchläufen gesendet wird. Wobei x für die Anzahl der durchläufe steht.
Dies sieht dann so aus (wie in deinem Beispiel):
ping -n 15 000.000.0.00
Damit dieser Befehl nicht immer auf den Bildschirm ausgegeben wird leite ich dir hier die Ausgabe in eine datei um. Dies wird durch ">" oder ">>" beschrieben. Wobei ein ">" es ausgibt und die Datei über schreibt und ">>" ausgibt und die datei zeilenweise erweitert.
Nach dem > bzw. >> kommt die Dateibezeichnung mit Dateiendung. Lässt du die Dateiendung weg, wird automatisch eine .dat Datei erstellt.
Du kannst die datei dann im gleichen ordner wie die Batch finden und mit einem Texteditor öffnen, dann siehst du was ich meine.
also komplett sieht es dann so aus
ping -n 15 000.000.0.00 >> brake.wait
zu 3.
es gibt eine random-variable im batch. Um variablen zu benutzen muss man sie in %-zeichen "umhüllen". Dies sieht dann so aus.
%random%
%(variable)%
da diese Variable bis zu 5 stellen groß sein kann (6 wäre auch denkbar...? frag mich nicht wie ich darauf komme.. )
muss man sie so defienieren das sie man nur die letzten beiden ziffern benutzt. Dies kann man auf mehrere Weisen machen.
eine lösung wäre von der variable nur die letzten beiden Zeichen zu benutzten. Dies sieht dann so aus:
%random:~-2%
%(variable:~stellen)%
das ":~" ist eine festgeschriebene zeichenfolge damit die Batch weis: "ok, nun beschränke ich die Variable". Das minus gibt an das von hinten gezählt wir und die 2 gibt die stellen an. Man könnte auch nur mittendrin einen teil "ausschneiden von der Variable.
Dies würde beispielsweise so aussehen:
%a:~2,3%
In diesem Fall ist a eine beispielvariable die aber vorher deklariert (definiert) werden muss, aber dazu später.
Bei diesem Beispiel gibt die Zahl vor dem Komma, also die 2, an wieviele Zeichen am anfang weggelassen werden und die 3, nach dem komma, gibt an wieviele am schluss weggelassen werden.
Beispiel:
a=1234567
dann ist %a:~2,3%=34
ok und da dies sehr aufwendig ist zu schreiben und unnütz zeit beansprucht packen wir nun die letzten beiden zahlen in eine Variable.
Dies erfolgt über den Befehl Set. Set "setzt" die Variable in folgender Form
set a=%random:~-2%
Man kann auch über set mit variablen rechnen oder eingabezeilen einlesen. dies erfolgt über set /a und set /p.
Damit der Wert jetzt aber kleiner bleibt wie 60 brauchst du noch 2 Befehle den if-Befehl und den goto-Befehl.
Der If-Befehl ist sehr wichtig beim programmieren da man mit diesem befehl quasi alles vergleicht und überprüft.
in diesem fall wollen wir überprüfen ob der Wert von %a% kleiner gleich 60 ist. Dann musst du noch einen Befehl angeben was passieren soll, sollte der Wert kleiner gleich 60 sein. Dies sieht dann so aus:
if %a% LEQ 60 goto main
also:
(wenn)(a)(<=)(60) (dann führe aus "goto main")
Der goto Befel springt zu einer von dir gesetzten Marke. Diese Marke kann überall, ob über oder unter dem momentanen Punkt liegen und wird durch ein vorangestellten doppelpunkt definiert.Bsp:
set a=%random:~-2%
if %a% LEQ 60 goto main
echo hallo
:main
(weiteres programm)
in diesem Fall überspringst du wenn %a% <= 60 ist den Echo befehl. Dieser gibt übrigens Text auf den Bildschirm aus.
Dies allein reicht aber nichtaus, denn sollte es mal nicht so sein brauchst du noch eine rücksicherung. Sprich am besten nochmal zurück und von vorn. dafür gibt es die If-Erweiterung else. diese Besagt "wenn nicht dann mach" und wieder ein Befehl. In deinem Fall setzen wir wieder eine Marke und springen zurück. Dies sieht dann so aus:
:random
set a=%random:~-2%
if %a% LEQ 60 goto main else goto random
:main
(weiteres programm)
so springt er immer schön zurück und erstellt dir eine neue Zufallszahl bis diese deinen Wünschen entspricht.
zu 4.
Dies müsstest du nun allein hinbekommen.
ping -n %a% 000.000.0.00 >> brake.wait
hier wurde die 15, von vorhin, mit der Variable von deinem zufallswert ausgetauscht.
zu 5.
nun bist du beim Hauptprogramm. Du hast die bedingungen überprüft und erfüllt nun soll er endlich das machen wofür du das programm brauchst. Da du nicht angegeben hast welche seite du öffnen möchtest speichern wir diese über eine eingabe in ein Variable. Dies sieht dann so aus:
:eingabe
echo Bitte gib die Internetseite an die du immer oeffnen moechtest!
set /p internetseite=
(Befehl) (option für eingabezeile) (variablenname)=(*externe Eingabe*)
if %internetseite% == "" goto eingabe
hier wird noch mit einem If-Befehl überprüft ob auch etwas eingegeben wurde, wenn nicht dann noch mal
dann brauchst du nur noch den start-Befehl, welcher, wie der Name schon verrät, dir deinen explorer startet. Dies sieht dann so aus:
start iexplorer.exe
(befehl) (Programm !!!Datei-endung immer mit angeben!!!)
In diesem Fall öffnet sich aber nur der explorer mit der startseite. Wenn du eine bestimmte Seite öffnen willst musst du diese dahinter schreiben. dies machen wir hier mit der vorher abgefragten Variable. Siehe selbst:
start iexplore.exe %internetseite%
zu 6.
wieder warten über den ping befehl, welcher in eine Datei ausgegeben wird:
ping -n 4 000.000.0.00 >> brake.wait
zu 7.
Beendet wird ein Programm mit dem taskkill-Befehl. Mit diesem allein wirst du dies nicht hinbekommen. Du brauchst noch 2 weitere Optionen um eine *.exe zuschließen. Da wäre zum einen "/f", dies erzwinkt das beenden deines internetexplorers und zum anderen wäre da die option "/im" dieser ermöglicht dir einfach nur iexplorer.exe einzugeben ohne groß rum zu rätseln welchen task du nun beenden musst.
Dies sieht dann sehr simpel so aus:
taskkill /f /im iexplore.exe
nun zum Schluss noch ein goto-Befehl der dich wieder zur neuen Zufallsvariablenbestimmung bringt. Damit das programm von neuen startet.
Noch ein kleiner Hinweis:
Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht-interaktive Bearbeitung von Aufgaben. Was soviel heißt das die Befehle nacheinander (wie in einem stappel von oben nach unten) abgearbeitet werden.
Sprich du musst die Befehle so anordnen das deine vorgegebene Abfolge auch in der Datei richtig beschrieben ist.
und hier noch mal das komplette Script! Viel Spaß damit und gib doch mal ein kleinen Feedback ob du es verstanden hast und ob es geklappt hat.
hab es nämlich nicht getestet.
@echo off
:eingabe
echo Bitte gib die Internet seite an die du immer oeffnen moechtest!
set /p internetseite=
if %internetseite% == "" goto eingabe
echo 15 sekunden warten
ping -n 15 000.000.0.00 >> brake.wait
:random
set a=%random:~-2%
if %a% LEQ 60 goto main else goto random
:main
echo Jetzt wird deine Zufällige Zeit von %a% sek gewartet
ping -n %a% 000.000.0.00 >> brake.wait
start iexplore.exe %internetseite%
ping -n 4 000.000.0.00 >> brake.wait
taskkill /f /im iexplore.exe
goto random
erstmal hallo,
freut mich das es dir geholfen hat und du halbwegs durchgesehen hast. Aber eventuell war es zu spät um dem richtig folgen zu können.
Wenn du das script das du eingegeben hast mir mal posten würdest könnt ich dir ganz genau sagen was du falsch gemacht hast.
hmm, also das eingeben der internet seite wird im Programm abgefragt, daher auch die %-Zeichen da sie dann in eine Variable eingespeichert wird. Diese Variable wird im Programm gegen deine eingabe sozusagen eingetauscht. An der stelle %internetseite% steht dann www.google.de.
sprich statt:
steht dann
du dürfst kein http// davor schreiben denn dies macht der iexplore schon von alleine.
und du hättest das Script so wie es ist nur auschneiden und in eine *.txt file kopieren und dann als *.bat speichern müssen!
Wenn du sie dann öffnest fragt er dich nach der internet-seite und dann legt er los so wie du es wolltest... bzw. so wie ich deinen wunsch interpretatiert habe!
Probier das aus und wenn es dann nicht funktioniert dann poste mal dein Script und eine Fehlermeldung sollte eine kommen!
güße, erik87
freut mich das es dir geholfen hat und du halbwegs durchgesehen hast. Aber eventuell war es zu spät um dem richtig folgen zu können.
Wenn du das script das du eingegeben hast mir mal posten würdest könnt ich dir ganz genau sagen was du falsch gemacht hast.
hmm, also das eingeben der internet seite wird im Programm abgefragt, daher auch die %-Zeichen da sie dann in eine Variable eingespeichert wird. Diese Variable wird im Programm gegen deine eingabe sozusagen eingetauscht. An der stelle %internetseite% steht dann www.google.de.
sprich statt:
start iexplore.exe %internetseite%
steht dann
start iexplore.exe www.google.de
du dürfst kein http// davor schreiben denn dies macht der iexplore schon von alleine.
und du hättest das Script so wie es ist nur auschneiden und in eine *.txt file kopieren und dann als *.bat speichern müssen!
Wenn du sie dann öffnest fragt er dich nach der internet-seite und dann legt er los so wie du es wolltest... bzw. so wie ich deinen wunsch interpretatiert habe!
Probier das aus und wenn es dann nicht funktioniert dann poste mal dein Script und eine Fehlermeldung sollte eine kommen!
güße, erik87
Richtig.
du musst :start als Marke setzten.
gut nun zu dem anderen problem nimm einfach die eingabe der i-net-seite raus und ersetze %internetseite mit www.google.de.
dein script sieht dann so aus:
so ich denke das müsste es gewesen sein. Schäm dich nicht zu fragen dafür sind wir da
gruß erik87
du musst :start als Marke setzten.
gut nun zu dem anderen problem nimm einfach die eingabe der i-net-seite raus und ersetze %internetseite mit www.google.de.
dein script sieht dann so aus:
@echo off
:start
start c:\XXXXX.exe
echo 15 sekunden warten
ping -n 15 000.000.0.00 >> brake.wait
:random
set a=%random:~-2%
if %a% LEQ 60 goto main else goto random
:main
echo Jetzt wird deine Zufällige Zeit von %a% sek gewartet
ping -n %a% 000.000.0.00 >> brake.wait
start iexplore.exe www.google.de
ping -n 4 000.000.0.00 >> brake.wait
taskkill /f /im iexplore.exe
goto start
so ich denke das müsste es gewesen sein. Schäm dich nicht zu fragen dafür sind wir da
gruß erik87
hi,
also hier zunächst dein script mit den randbedingungen der Wartezeiten:
wie du siehst habe ich dort 2 if-bedingungen verkettet, sodass nur weiter gemacht wird wenn die Zufallszahl zwischen einen bestimmten zahlenbereich ist.
wobei GTR soviel wie größer als und LSS soviel wie kleiner gleich bedeutet.
um nun dein Video auch noch abzuspielen brauchst du die Internet-Adresse der Zwischendatei!!!
Diese endet meist auf *.asx!
Oder direkt die Videostream-adresse der *.avi, *.mpeg ...etc. -Datei
wenn du die Videostream-adresse hast, füge diese einfach für
ein.
Dies dürfte funktionieren, kann ich aber nicht genau sagen. So etwas habe ich noch nie gemacht, geschweige denn wäre es mir in den sinn gekommen.... ich würde es ja ausprobieren aber hier im wohnheim habe ich eine sehr bescheidene inet-leitung von gerademal 10 - 15 kbits.......
solltest du die asx-adresse haben musst du wie folgt vorgehen:
In WordPad schreibt man nun eine simple HTML-Seite:
Zwischen die beiden "-Zeichen muß dann die *.asx Internet-Adresse eingefügt werden und zwar ab "http" bis ".asx". Dann speichert man mit WordPad die Datei z.B. als "Link.htm" ab. Im Webbrowser muß man nun diese Datei mit "Datei-Öffnen" laden. Danach wird man nur das Wort "Link" sehen. Mit dem Maus-Cursor muß man nun einen Rechts-Click auf das Wort "Link" machen und dann "Ziel speichern unter" anklicken und die Datei dann lokal abspeichern. Nun wirst du eine "asx"-Datei abgespeichert finden.
Diese Datei musst du dann mit WordPad öffnen und nach ".wmv" suchen.
diese adresse die davor steht (inklusive der endung) fügst du dann als zieladresse deines start iexplore.exe-befehles ein.
die endung nach der du suchen muss kann auch *.avi sein. Ich hoffe das hilft dir jetzt endlich zum ende zu kommen.
hehe
Gib doch mal ein ausführliches feedback, wenn du fertig bist oder noch fragen hast!
gruß, erik
also hier zunächst dein script mit den randbedingungen der Wartezeiten:
@echo off
:start
start c:\XXXXX.exe
:repeat
set b=%random:~-2%
if %b% GTR 9 (if %b% LSS 19 goto gut)
goto repeat
:gut
echo %b% sekunden warten
ping -n %b% 000.000.0.00 >> brake.wait
:random
set a=%random:~-2%
if %a% GTR 11 (if %a% LSS 61 goto main else goto random)
if %a% LEQ 60 goto main else goto random
:main
echo Jetzt wird deine Zufällige Zeit von %a% sek gewartet
ping -n %a% 000.000.0.00 >> brake.wait
start iexplore.exe www.COOLONESSEITE.de/5412/video.html
ping -n 4 000.000.0.00 >> brake.wait
taskkill /f /im iexplore.exe
goto start
wie du siehst habe ich dort 2 if-bedingungen verkettet, sodass nur weiter gemacht wird wenn die Zufallszahl zwischen einen bestimmten zahlenbereich ist.
wobei GTR soviel wie größer als und LSS soviel wie kleiner gleich bedeutet.
um nun dein Video auch noch abzuspielen brauchst du die Internet-Adresse der Zwischendatei!!!
Diese endet meist auf *.asx!
Oder direkt die Videostream-adresse der *.avi, *.mpeg ...etc. -Datei
wenn du die Videostream-adresse hast, füge diese einfach für
www.COOLONESSEITE.de/5412/video.html
Dies dürfte funktionieren, kann ich aber nicht genau sagen. So etwas habe ich noch nie gemacht, geschweige denn wäre es mir in den sinn gekommen.... ich würde es ja ausprobieren aber hier im wohnheim habe ich eine sehr bescheidene inet-leitung von gerademal 10 - 15 kbits.......
solltest du die asx-adresse haben musst du wie folgt vorgehen:
In WordPad schreibt man nun eine simple HTML-Seite:
<html>
<head>
<body>
<a href="">Link</a>
</body>
</html>
Zwischen die beiden "-Zeichen muß dann die *.asx Internet-Adresse eingefügt werden und zwar ab "http" bis ".asx". Dann speichert man mit WordPad die Datei z.B. als "Link.htm" ab. Im Webbrowser muß man nun diese Datei mit "Datei-Öffnen" laden. Danach wird man nur das Wort "Link" sehen. Mit dem Maus-Cursor muß man nun einen Rechts-Click auf das Wort "Link" machen und dann "Ziel speichern unter" anklicken und die Datei dann lokal abspeichern. Nun wirst du eine "asx"-Datei abgespeichert finden.
Diese Datei musst du dann mit WordPad öffnen und nach ".wmv" suchen.
diese adresse die davor steht (inklusive der endung) fügst du dann als zieladresse deines start iexplore.exe-befehles ein.
die endung nach der du suchen muss kann auch *.avi sein. Ich hoffe das hilft dir jetzt endlich zum ende zu kommen.
hehe
Gib doch mal ein ausführliches feedback, wenn du fertig bist oder noch fragen hast!
gruß, erik
ok, hab grad die fehler gesehen... Ich war wohl doch schon ein wenig zu müde!
Hier noch mal das script und ich hoffe das mein jetziger Wachheitsgrad ein fehlerfreies script erzeugt!
So dann viel Spaß mit deinem counter-manipulierprogramm.
gruß, erik
Hier noch mal das script und ich hoffe das mein jetziger Wachheitsgrad ein fehlerfreies script erzeugt!
@echo off
:start
start c:\routerreconnect.exe
:repeat
set b=%random:~-2%
if %b% GTR 9 (if %b% LSS 19 goto gut)
goto repeat
:gut
echo %b% sekunden warten
ping -n %b% 000.000.0.00 >> brake.wait
:random
set a=%random:~-2%
if %a% GTR 11 (if %a% LSS 61 goto main else goto random)
:main
echo Jetzt wird deine Zufällige Zeit von %a% sek gewartet
ping -n %a% 000.000.0.00 >> brake.wait
start iexplore.exe www.google.de
ping -n 4 000.000.0.00 >> brake.wait
taskkill /f /im iexplore.exe
goto start
So dann viel Spaß mit deinem counter-manipulierprogramm.
gruß, erik