die BATch-Befehle stammen alle aus dem DOS-Zeitalter und sind auch heute noch ein sinnvolles Werkzeug.
die hier beschriebenen Befehle wurden unter Windows 2000/XP getestet, sind aber zu 99% auch für Vista und Windows 7 gültig.
wenn du den Befehl help in der MS-DOS Eingabeaufforderung eingibst, erhältst du einen Überblick über die verfügbaren Befehle, mit dem Befehlsnamen und /? kannst du dann genauere Informationen zum jeweiligen Befehl erfragen, z.B. xcopy /?

-Kopieraufgaben
-Dateien verschieben
-Netzlaufwerke verbinden
-Dateien / Verzeichnisse erstellen
-Text ausgeben
-Programme starten
-einfache Menüs für Startdisketten
...
-Batch Dateien sind nicht schön! (nur textorientiert, kein Grafikmodus)
-Batch Dateien können nur einfache Abläufe, nichts komplexes
Eine BATch-Datei erzeugst du indem du einen Editor öffnest und speichern unter : irgendwas.cmd (früher: Endung: .bat),
es wird dann eine leere Datei erzeugt, der Name (hier irgendwas) ist dabei egal, wichtig ist die Endung .cmd
(auch Wichtig: im Explorer muss bei Extras, Ordneroptionen, Ansicht, Erweiterungen bei bekannten Dateitypen ausblenden deaktiviert werden, sonst speicherst du irgendwas.bat.txt!)
in die leere Datei kannst du die Befehle mit Hilfe eines Editors reinschreiben,
wenn du sie startest werden die Befehle ausgeführt.
ein Video hierzu findest du unter script-example.com Batch Datei Beispielvideo
mit dem Befehl @echo off, am Anfang der Batch-Datei unterdrückst du
die Ausgabe des Befehls beim Ausführen der Datei
mit echo irgendwas, bringst du die Batchdatei dazu den Text: irgendwas auszugeben.
der pause-Befehl wartet auf einen beliebigen Tastendruck
Beispiel:
----------------------------------------------
@echo off
echo dies ist eine Testdatei
pause
----------------------------------------------
der Batchbefehl gibt den Text: dies ist eine Testdatei aus und wartet anschließend auf einen Tastendruck
Beispiel zu xcopy (das zwischen den Strichen schreibst du dann in eine Batch-Datei):
-----------------------------------
@echo off
xcopy c:\Eigene~1 d:\sicher /D /E /Y /I
pause
-----------------------------------
zum xcopy-Befehl:
/D bedeutet nur neuere Dateien
/E Unterverzeichnisse mitnehmen
/Y Dateien ohne Nachfragen überschreiben
/I neuen Ordner anlegen, falls nicht vorhanden
sichert in einer Batch-Datei alle neuen Dateien in den Ordner d:\sicher
ist am wirkungsvollsten, wenn die Dateien auf eine 2te Festplatte gesichert werden!
noch besser auf einen 2ten Rechner!
das geht dann so:
xcopy c:\Eigene~1 \sicherpc\sicher /D /E /Y /I
oder bei Verwendung langer Dateinamen: (einfach zwischen Anführungszeichen setzen)
xcopy c:\Eigene Dateien \sicherpc\sicher /D /E /Y /I
kopiert dann die Eigenen Dateien auf den PC namens sicherpc in den freigegebenen Ordner sicher!
wenn du mit dieser Methode Outlook Express sichern willst, musst du im Outlook unter Extras Optionen Wartung Speicherordner einen anderen Outlook-Ordner anlegen und diesen dann sichern (z.B auch in den Eigenen Dateien)! der Standard-Outlook-Ordner funktioniert mit xcopy nicht!
du kannst die Datei auch in das Autostart-Verzeichnis geben, damit bei jedem Systemstart alles gesichert wird,
oder mit Geplante Tasks Sicherungsjobs erstellen!
die Option exclude brauchst du damit bestimmte Dateien oder Verzeichnisse nicht mitgesichert werden:
Beispiel: xcopy c:\Dokumente und Einstellungen z: /y /d /h /e /i /exclude:nocopy.txt
Damit die Sache funktioniert musst du eine Datei erzeugen, die in diesem Fall nocopy.txt heißt. Die Datei muss sich natürlich im selben Ordner befinden wie deine Batch-Datei!
Als Inhalt gibst du alle Dateien bzw. Ordner an, die du nicht mitkopiert haben willst.
z.B.:
----------------
Temporary Internet Files
.tmp
----------------
.tmp heißt alle Dateien mit der Endung tmp, Die angegebenen Ordner bzw. Dateien müssen jeweils in einer neuen Zeile stehen, der *-Platzhalter (so.* ; *.tmp) funktioniert nicht!
Beispiel:
@echo off
set var=Hallo ich bin es
echo %var%
pause
mit set var= kannst du der Variablen var jeden beliebigen Wert, bzw. Text geben!
es gibt eine Reihe Variablen die von Windows von Haus aus zur Verfügung stehen!
Einen Überblick darüber, welche Variablen bei dir gesetzt sind bekommst du wenn du den Befehl set ohne weitere Option eingibst (also: Start, Ausführen, cmd, ... set)
du bekommst dann eine Liste aller zur Verfügung stehenden Variablen mit deren Inhalt
z.B. windir=c:\WINDOWS
USERNAME= dein Benutzername
oder USERPROFILE dein gerade angemeldetes Benutzerprofil
Verwenden kannst du die Variablen dann natürlich mit %USERPROFIL% oder %USERDOMAIN% also immer ein % vorher und ein % nach der Variablen (wie schon bei den selbst gesetzen Variablen)
Beispiel:
@echo off
:Start
echo bin in der Schleife
goto Start
mit goto springt die Batchverarbeitung an jede beliebige Stelle der Datei!
if exist %datei.txt goto springen
wenn die Datei datei.txt existiert, springe zu springen
Beispiel:
@echo off
if exist %datei.txt goto springen
echo Datei nicht gefunden!
goto ENDE
:springen
echo die Datei existiert!
:ENDE
jeder Befehl gibt bestimmte errorlevel zurück:
meisst bedeutet der errorlevel 1, daß der Befehl nicht erfolgreich war:
Beispiel:
----------------------------------
@echo off
xcopy c:\so c:\so2
if errorlevel 1 goto error
goto ende
:error
echo das kopieren war nicht erfolgreich!
:ende
pause
----------------------------------
in diesem Beispiel wird das Verzeichnis c:\so in c:\so2 kopiert,
wenn jetzt z.B. so nicht existiert, schreibt die Batch-Datei: das kopieren war nicht erfolgreich!
echo hallo > temp.txt
diese Befehlszeile erzeugt eine temp.txt Datei und schreibt hallo rein! wenn die Datei temp.txt schon existiert, wird der gesamte Inhalt der Datei überschrieben!
echo hallo >> temp.txt
fügt den Text hallo zur temp.txt hinzu, d.h. bei jedem mal aufrufen des Befehles steht in temp.txt einmal mehr hallo drin,
der Inhalt der Datei bleibt erhalten!
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
echo %jahr%%monat%%tag%
erzeugt dann z.B.:20050921
Befehle:
open ... Öffnet die FTP-Verbindung; benötigt: Server, Benutzername und Paßwort
put ... sendet eine Datei
get ... lädt eine Datei herunter
lcd ... Verzeichnis am Rechner wechseln
cd ... Verzeichis am Server wechseln
bye ... beendet die FTP-Verbindung
Für Bild- und Programmdateien musst du den Binär-Modus verwenden, für Text-Dateien den ASCII-Modus.
Beispiel:
OPEN www.ftpserver.at
benutzername
passwort
CD html
ASCII
PUT C:\eigene~1\homepage\index.htm
CD ..
CD bilder
BINARY
put C:\eigene~1\homepage\bilder\bild.gif bild.gif
bye
Erläuterung: die Datei öffnet die FTP-Verbindung, wechselt in den ASCII- Modus (für Text-Dateien);
kopiert alle Datei index.htm auf den Server;
wechselt dann am Rechner in das Bildverzeichnis, schaltet in den BINARY - Modus und sendet die bild.gif- Datei!
das ganze speicherst du am besten in einer .ftp- datei, diese wird dann mit einer Batchdatei folgendermassen aufgerufen:
Batchdateiaufruf:
ftp -s:dieftpdatei.ftp
weiterführende Themen bzw. Anleitungen für Anfänger unter: Script Example Windows Batch
| Seiten: 41 40 39 38 37 ... 1 | weiter > |
ichsuchhilfe
Kommentar : hi leut ich versuche gerade ne batch datei zu machen mit datum
ein sicherungs datei von .xls in .csv mit datum die umscheibung von xls in csv klappt aber das mit datum nicht was mach ich falsch??
T. Sigmund
Kommentar :
gibt es eine Möglichkeit folgendesn Ablauf per batch auszuführen:
Auf unserem hnas sollen Verzeichnisse angelegt werden, entsprechende Gruppen im LDAP aktualisiert werden und diese anschließen d r/0 bzw. r/w auf das Verzeichnis berechtigt werden. Anschließend soll an die Verzeichnisowner eine Mail raus gehen und ddie Freigábe des erstellten Verzeichnisses vorgenommen werden. Gesteuert werden soll das Ganze über ein WEB-Frontend.
Hat jemand eine Idee dazu? gibt es evtl Tools, die so was schon können und über eine API bedienbar sind?
user
Kommentar : an Kapeller
bei windows 7 versuch es mit robocopy funzt super
als gui gibt es yargui http://yarcgui.wilkes.es/
IchxD
Kommentar : Antwort an Josua:
Versuch mal variablen zu machen also z.B so:
@echo off
set i=0
START
echo TEXT
i++
if i>5
break
GOTO START
---------------------------
Ich weiß nicht genau ob es funktioniert aber probiers mal
Kommentar:delete:
Datum:24.12.2012 01:17 IP:78.42.88.134
kb
Ehm mann kanmit bat einigermassen grafiken erstellen
Kapeller
Kommentar : habe mich verschrieben,
richtig Users statt User !!
Kapeller
Kommentar : Alles perfekt beschrieben, habe allerdings lange gebraucht, um meine Datensicherung über eine Bat Datei unter Windows 7 zu organisieren!
Grund sind fehlende Hinweise wie folgt:
Dateipfade (Herkunft) bei Windows 7:
Windows 7 versteht nur Documents (nicht aber Dokumente)
Windows 7 versteht nur User (nicht aber Benutzer)
Windows 7 versteht keine Umlaute wie ö Ä (mein Verzeichnis \"Persönliche Daten\" wurden nicht erkannt!
liebe Grüsse Kapeller
Hallo 123
Kommentar : was passiert bei
@echo off
color 0a
:1
start
Start
Echo %random%%random%%random%
Goto 1
keine anung
ichhelfeanderen
Kommentar :
Hallo, du gibst den Befehl einfach 5 untereinander ein und es wird 5 mal ausgeführt!!!
Beispiel:
@echo off - Befehle werden nicht angezeigt...
title Beispiel - Der Text, der Oben in der Titelleiste angezeigt wird
color 0a - Farbe, in den Falle: Grüne Textfarbe
echo Hallo - Befehl
echo Hallo - Befehl
echo Hallo - Befehl
echo Hallo - Befehl
echo Hallo - Befehl
pause - Stoppt den aktuellen Fortlauf...
cls - Löscht den gesamten Bildschiminhalt
hirnlos
Kommentar :wie programmiert man jetzt einfache spiele wie tic tac toe oder so??
keke
Kommentar : wie kann ich per bat ein dvd E:/ in DVD D:/ umbennen
Kommentar:delete:
Datum:31.05.2012 13:19 IP:134.3.238.200
Josua
ICH HABE EINE GANZ WICHTIGE FRAGE:
WIE KANN ICH ES MACHEN, DAS SICH ETWAS 3-4 MAL WIEDERHOLT (goto)
UND DANACH ABER WIEDER NORMAL WEITERGEHT?!
BITTE! DANKE!
BSP:
@echo off
echo Beispiel
:start echo 5mal
echo beispiel
goto start
| Seiten: 41 40 39 38 37 ... 1 | weiter > |