Batch datei?

4 Antworten

Eine Batchdatei ist eine Liste von Befehlen/Anweisungen, welche Kommandointerpreter (cmd.exe) automatisch ausgeführt werden kann.

Im Prinzip ist eine Batch ein Programm. Im Gegensatz zu "normalen" exe-Dateien kann Batch nicht direkt auf Betriebssystem-/Prozessorbefehle und deren Rückgabewert zugreifen, sondern arbeitet mit Kommanzeilenprogrammen und deren Textoutput, was zuweilen extreme "Verrenkungen" erfordert um auf die gelieferten Daten zuzugreifen.

Batch ist eine turingvollständige "Programmiersprache".

Theoretisch kann man mit Batch so ziemlich alles am Computer tun. Praktisch gestaltet sich dass Unterfangen dann doch ziemlich schwierig:

Man muss teilweise schon ziemlich schräg denken um mit Batch komplexe Probleme zu lösen.

Batch ist ein "Kind" der 70er ...80er Jahre und wurde im Laufe von über 40 Jahren immer wieder an sich ändernde Anforderungen angepasst. Dabei musste immer darauf geachtet werden, das bestehende Scripte unverändert weiter funktionieren. Das Ganze führte zu einem Flickenteppich aus Ausnahmen und Tricksereien, welche es ihrerseits immer weiter erschwerte die Sprache kompatibel zu halten.

Heute würde ich niemandem empfehlen Batch für komplexe Aufgaben zu verwenden. (Es sei denn man hat eine masochistische Adler)

Ich empfehle Dir stattdesse die Verwendung von Powershell.

Powershell ist eine extrem mächtige Skriptsprache mit Vollzugriff auf nahezu alle Funktionen von Windows.

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Was kann man alles mit einer batch datei machen

Eine Batch-Datei ist letztendlich einfach nur eine Textdatei, die von der Eingabeaufforderung (cmd.exe, Windows Kommandozeileninterpreter) ausgeführt werden kann. Die einzelnen Kommandos (jede Zeile steht für ein neues Kommando) werden automatisch nacheinander (von oben nach unten) ausgeführt.

In eine Batch-Datei lassen sich sämtliche Kommandos einfügen, die man auch manuell in der Eingabeaufforderung eingeben kann. Beispielsweise gibt folgendes Script den Text Hallo Welt! aus:

@echo off
title Testscript
echo Hallo Welt!
pause >nul

Eine kurze Zusammenfassung wichtiger Kommandos findest du u. a. auf Wikibooks, eine vollständige Auflistung aller Kommandos gibt es auf der Webseite von Microsoft. Beides verlinke ich dir hier gerne einmal.

https://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Befehle

https://learn.microsoft.com/de-de/windows-server/administration/windows-commands/windows-commands

wofür kann man sie einsetzen

Im Grunde für so gut wie alles. Besonders häufig wird Batch-Script heute noch zur Automatisierung eingesetzt (bspw. bei der Datensicherung) oder auch um Server zu konfigurieren.

Neben dem klassischen Batch-Script ist unter Windows aber vor allem auch Powershell relevant.

LG

Eine Batch Datei ist sozusagen eine Liste von Anweisungen.

Anstatt eine geruckte Liste Zeile für Zeile in die Eingabeaufforderung abzutippen kann man die Liste als Datei ausführen. Die wird dann exakt so abgearbeitet als wenn man das alles nacheinander eintippen würde.

Früher bei DOS wurde die AUTOEXEC.BAT benutzt um bestimmte Dienste wie Maustreiber nach dem Einschalten automatisch zu starten. Das BAT steht hier für BATchdatei.

Auch viele Spiele haben früher eine BAT Datei zum starten benutzt um diverse Einstellungen am System durchzuführen bevor dann als letztes in der BAT die EXE aufgerufen wurde.

Eine BAtch Datei kann also genau das gleiche machen was ein Benutzer durch eintippen auch machen kann - nur millionenfach schneller.

Woher ich das weiß:Berufserfahrung
Hahahahsbsgsgsh 
Fragesteller
 18.12.2023, 23:50

Danke endlich eine hilfreiche und informative antwort

0

Ich habe noch nicht gesehen, dass eine Batch-Datei Schnee schaufelt. Ergo -> Nein, man kann nicht Alles mit einer Batch-Datei machen.

Zudem sind Batch-Dateien (je nach verwendetem Betriebssystem) von ihrer Leistungsfähigkeit begrenzt. Unter Windows sind sie schon nicht mehr zeitgemäß - hier sind PS-Scripts vorzuziehen.

und wofür kann man sie einsetzen

Das sind letztlich nur Textdateien, in denen mehrere Befehle hintereinander ausgeführt werden sollen.