Aus Spaß Gründen schrieb ich eine Batch-Datei mit 100 zufälligen Groß-/Kleinbuchstaben, wo immer ich klicke. Da dies sich als ziemlich langsam herausstellte, entschied ich mich, es von der Kommandozeile mit einer einfachen for-Schleife für mehr Zeichen in weniger Zeit zu starten: for /L %m in (1,1,3) do (start bat.bat)
Starten der Shell in dem Ordner, in dem sich die Datei befindet.Verhalten von parallel laufenden gleichen Batch-Dateien
Neugierig, wenn ich wirklich 300 Zeichen habe ging ich zu this website, die die geschriebenen Zeichen in Echtzeit zeigt und kam zu einer interessanten Beobachtung: Ich bekomme nur 293 Buchstaben (+ - 5 oder so) und nicht die erwarteten 300. Ich nehme an, es liegt an den parallel laufenden Prozessen. Sie können sogar sehen, dass das Schreiben in Blöcken von 3 Zeichen beginnt und dann plötzlich ein oder zwei Zeichen fehlen und dies wird über die gesamte Skriptdauer fortgesetzt.
Jetzt die Frage: Beeinflusst die parallele Ausführung der gleichen Batch-Datei jeden anderen Prozess?
Unten ist der Code der Datei (und ja, ich weiß, es ist wahrscheinlich viel kürzer und effizienter gemacht wird):
@if (@CodeSection == @Batch) @then
@echo off
Setlocal EnableDelayedExpansion
timeout /t 3
set SendKeys=CScript //nologo //E:JScript "%~f0"
for /L %%G in (1,1,100) do (
set /a grkl=!random! %%2
if "x!grkl!"=="x0" (
!SendKeys! "z"
) ELSE (
!SendKeys! "Z"
)
)
exit
@end
// JScript section
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));