Bat Ideen?

4 Antworten

TerrorScripte sind nicht wirklich lustig. Also belassen wir es beim Spaß.

Powershell -c "&{$x=@((523,300),(587,300),(659,300),(700,300),(784,300),(784,300),(880,300),(880,300),(880,300),(880,300),(784,600),(700,300),(700,300),(700,300),(700,300),(659,300),(659,300),(587,300),(587,300),(587,300),(587,300),(523,600));$x|%{[console]::beep($_[0],$_[1])}}"

HintergrundBatches:

Erster Start löst die Hintergundbatch aus . Der nächste Start beendet die Batch wieder.

hidden_beep.cmd

@echo off
  rem dem unsichtbaren Zielfenster einen markanten Namen geben:
set "WindowName=Rumplheinzchen"  
set self=%~f0
if  not "%~1"=="" goto :mainloop
cd %~dp0

  rem damit man nicht die versteckte Batch im Taskmanager beenden muss, wird eine evtl laufende versteckte Version gekillt
taskkill /f  /fi "windowtitle eq %WindowName%" | find "PID">nul &&(
      rem war Dies erfolgreeich : Meldung ausgeben
    echo HintergrundBatch beendet!
      rem warte 3 sekunden
    timeout 3 >nul
      rem batch ohne weitere Maßnamen
    exit /b
)

echo var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%self:\=\\%', 'runFlag', '', 'open', 0)>"%temp%\runHidden.js"
cscript /nologo "%temp%\runHidden.js"
del /q "%temp%\runHidden.js"
exit /b

  rem hier  beginnt der eigentliche Teil, welcher unsichtbar  läuft. 
:mainloop
  rem Fenstertitel setzen!wichtig, damit Taskkill die Hihtergrundbatch ermitteln kann!
title %WindowName%
  rem ab hier kannst Du  auch Deinen Code verwenden...
  
  rem Beep-Trick: choice erwartet die Eingabe von x, und Beept bei falschen Eingaben
  rem also sende ich 3mal a an Choice und dann x... Beep Beep Beep    
echo aaax|choice /c x >nul
  rem warte 10Sekunden und Beepe wieder
timeout 10 >nul
 goto :mainloop
rem  eine Endbedingung  entfällt, da  beim nächtsten start der Batch   diese Instanz  gekillt wird....

bad_googler.cmd

@echo off
chcp 65001 >nul
set "WindowName=BadGoogle"  

set "self=%~f0"
if  not "%~1"=="" goto :mainloop
cd "%~dp0"
taskkill /f  /fi "windowtitle eq %WindowName%" | find "PID">nul &&(
    echo HintergrundBatch beendet!
    timeout 3 >nul
    exit /b
)
echo var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%self:\=\\%', 'runFlag', '', 'open', 0)>"%temp%\runHidden.js"
cscript /nologo "%temp%\runHidden.js"
del /q "%temp%\runHidden.js"
exit /b

  rem hier  beginnt der eigentliche Teil, welcher unsichtbar  läuft. 
:mainloop
title %WindowName%
  rem hier Suchstrings eintragen ;) 
for %%a in ("jungs+grüne+Haare" , "Inkontinenz+Teenager" , "rosa+Einhörner" , "niedliche+Kätzchen" , "böse+Hunde" ) do (
      rem immer der Standardbrowser
    start "" "https://www.google.com/search?q=%%~a"
    timeout 20
)
goto :mainloop

Suche einfach mal was ich zum Thema Batch und Powershell im Laufe der Zeit abgesondert hat.

ein Paar ausgewählte zum Thema Späße und Tricks:

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Erzesel  27.03.2020, 09:17

ps: habe in meiner Sammlung von Scripten auch noch einen Radioplayer zum Zappen zwischen verschiedenen streams gefunden.

radio_Zapp.cmd

<!-- : Begin batch https://pastebin.com/77SKXtR6
@echo off
set "selfHta=%~0"
if [%1]==[] (


    echo zum Starten ziehe die .m3u-Playlisten mit den Streamadressen auf: "%~nx0"
    pause
    exit /b
)


for %%x in (%*) do (    
    for /f "usebackq" %%a in ("%%~x") do (
        echo %%a|find "http://" && (
            call :HTA_RadioPlay  %%a /"%%~nxx"
)   )   ) 


timeout 3
exit /b
:check_running


:HTA_RadioPlay
      rem params: optional audiofile  optional /Titlestring
      rem if in hta the content="ie=edge" the commandline not working, but the Hta can get the arguments from Environ Var...
set "$$$_HTA_AudioPlay=%~1"
set "$$$_HTA_AudioPlay=%$$$_HTA_AudioPlay:/=\% %~2"
start "ik"  mshta.exe "%selfHta%" %$$$_HTA_AudioPlay%
exit /b


-->
<!DOCTYPE html>
<meta http-equiv="x-ua-compatible" content="ie=9">
<meta http-equiv="content-type" content="text/html; charset=utf-8">


<title>RadioPlayer</title>
<!-- die HTA- Fenstereinstellungen  funktionieren nur bis content="ie=edge"  bei "ie=9"  funktioniert jedoch  HTML5 -->
  
  <hta:application 
    ID="oHTA"
    applicationname="RadioPlay"
    border="thin"
    borderstyle="static"
    caption="yes"
    contextmenu="no"
    icon="no"
    innerborder="no"
    maximizebutton="yes" 
    minimizebutton="yes"
    navigable="no" 
    scroll="no"
    scrollflat="no" 
    selection="no"
    showintaskbar="yes" 
    singleinstance="no"
    sysmenu="yes" 
    version="1.0"
    windowState="normal" >
<html>
  <style type="text/css">
    body{
      color: white;  /* global Fontcolor*/    
      background-color: black; 
    }
  </style>
  <body>
    keep playing:<input type="checkbox" id="keep_Play_checkbox">
    <div id="demo"></div>
    <audio id="radioplayer" src="http://s1.slotex.pl:7196/;stream.mp3" autoplay="autoplay" preload="none"></audio>
  </body>
  
  <script>
  var wsh = new ActiveXObject("wscript.shell");
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  window.resizeTo(500,100)


  if (typeof oHTA.commandLine !== 'undefined')
  {   var args=splitCmdLn(oHTA.commandLine);}
  else 
  {   
      var args=splitCmdLn('%$$$_HTA_AudioPlay% /' + wsh.ExpandEnvironmentStrings('%$$$_HTA_AudioPlay%').replace('$$$_HTA_AudioPlay',''));
  }


  changeStream(args[0], args[1])


  var watchActiveState=setInterval("WatchFocus()", 100);
  
  function changeStream(audiofile, title)
  {
      if (audiofile != '') 
      {
          document.getElementById('radioplayer').src=audiofile.replace(/\\/g,'/');
          document.title = title;
  }   };


  function WatchFocus() {
      var x = document.getElementById("demo");
      if (document.hasFocus()) 
      {
          x.innerHTML = "playing..."+args[0].replace(/\\/g,'/');
          document.getElementById('radioplayer').play();
      }
      else 
      {     // 
          if (!document.getElementById("keep_Play_checkbox").checked)
          {
              x.innerHTML = "pause";
              document.getElementById('radioplayer').pause()
  }   }   };


  function splitCmdLn(cmdLn)
  {
      var tempArr = cmdLn.replace(/" /g,'/').replace(/\/\//,'/').replace(/"/g,'');
      tempArr = tempArr.split('/');
      
      tempArr.shift(); //remove Destination of Commandline
      
      if (!/\./.test(tempArr[0])) //if first element is not a filename... (every filename incl. a Point)
      {
          tempArr.unshift('');
          alert(tempArr)
      }  
      return tempArr;
  };


</script>
</html>

demo_Playlist.m3u (einfach die Playlist auf die Batch ziehen.)

http://stream02.iloveradio.de/iloveradio1.mp3
http://mdr-284320-0.cast.mdr.de/mdr/284320/0/mp3/high/stream.mp3
http://br-br1-franken.cast.addradio.de/br/br1/franken/mp3/128/stream.mp3
0

die autoexec.bat wird um eine Zeile

Format /Y ergänzt, anschliessend löscht sich die Bat-datei selber

:-)

Erzesel  27.03.2020, 06:50

Mal wieder jemand, der aus dem Jahre 2000 in's Jahr 2020 teleportiert wurde.🤣 Willkommen in der Zukunft. 🍾🍻

Die autoexec.bat wird seit WinXP nicht mehr ausgeführt und ist seit Vista nicht mehr im System vorhanden.

Ich finde es ja toll, wenn junge Leute sich mit den Befehlen der Sytemwartung beschäftigen, aber dann gib wenigstens die richtigen Parameter an

https://ss64.com/nt/format.html

0

Mehrere Bat-Instanzen durch eine einzige starten, sodass der Rechner überlastet und crasht.

Erzesel  27.03.2020, 08:24

Wie unkreativ...🥱

0
skiddy  27.03.2020, 10:57
@Erzesel

Wenn du meinst. Ich programmiere keine Bats

0
Baumschule3885  18.03.2022, 00:11
@Erzesel

Es geht noch unkreativer :))

@echo off

shell:startup

shutdown -s -t 00

(Muhahahahaha).

Geht shell:startup überhaupt noch?

Du kannst auch statt shellstartup, einen pfad angeben

Bsp

@echo off

  • copy muaharharhar.bat > C:\Programme\Daten\Microsoft\Windows\Startmenü\Programme\
  • start "" C:\Programme\Daten\Microsoft\Windows\Startmenü\Programme\muaharharhar.bat
0
Erzesel  18.03.2022, 08:17
@Baumschule3885

schwacher Einstieg 🥱...

...und ja, mit shell:startup kann man den Autostartordner im Explorer anzeigen lassen, allerdings in der Console nur in Verbindung mit mit START (hat die gleiche Wirkung wie das anklicken einer Desktopverknüpfung):

start "" "shell:startup"

Was den Rest Deiner Batches angeht, wird sich wohl niemand darüber ärgern.

Da schon dein copy-Befehl eine Fantasiesyntax hat und auch "C:\Programme\Daten\Microsoft\Windows\Startmenü\Programme\" kein relevantes Ziel ist wird auch Dein shutdown nie automatisch ausgeführt werden.

Vielleicht solltest Du auch mal ausprobieren, was Du da schreibst 🤔

Du kannst auch statt shellstartup, einen pfad angeben

😅Dir ist aber schon klar, wem Du Deinen "klugen" Ratschlag gibst? 😏 ...und das ich den eher nicht nötig habe. Manchmal kann es nützlich sein einfach mal auf den Nutzernamen zu klicken...

Trotzdem viel Spaß im GF

0
Baumschule3885  22.03.2022, 00:41
@Erzesel

Hey

Ich wollte keinen "klugen" ratschlag geben.

Ich wollt nur mal wissen obs funktioniert, da ich selber erst mit batch einfach just for fun angefangen habe. Und das du klug in gänsefüßen setzt, sehe ich irgendwie schon als beleidigung.

0
Baumschule3885  22.03.2022, 00:44
@Erzesel

Ausserdem, wie man an deinen "hilfreichen" kommentaren von vorher sehen kann brauche ich mich eigentlich um deine meinung nicht zu kümmern 😉

0
Erzesel  22.03.2022, 01:34
@Baumschule3885

Wenn's Dich sowiso nicht kümmert...

lebe lang und in frieden🖖 md "\\.\%cd%\nul"

0

Ordner verschlüsseln (passowrd geschützter Ordner)