Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

BATch-Befehle


Allgemein:
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,

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 /?.



was kann Batch:
-Kopieraufgaben
-Dateien verschieben
-Netzlaufwerke verbinden
-Dateien / Verzeichnisse erstellen
-Text ausgeben
-Programme starten
-einfache Menüs für Startdisketten
...

was Batch nicht kann:
-Batch Dateien sind nicht schön! (nur textorientiert, kein Grafikmodus)
-Batch Dateien können nur einfache Abläufe, nichts komplexes


Batch Dateien erzeugen:
Eine BATch-Datei erzeugst du indem du einen Editor öffnest und "speichern unter" : irgendwas.bat oder irgendwas.cmd,
es wird dann eine leere Datei erzeugt, der Name (hier irgendwas) ist dabei egal, wichtig ist die Endung .bat oder .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!


Grundlegend: echo, pause Befehl:
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 


kleine Sicherungsaufgaben mit xcopy
Ordner sichern:
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! 


xcopy exclude
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!


Variablen setzen:
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! 


Windows
Variablen:
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)


springen:
Beispiel:

@echo off
:Start
echo bin in der Schleife
goto Start
mit goto springt die Batchverarbeitung an jede beliebige Stelle der Datei! 



TEST: existiert eine 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 


Errorlevel:
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!"


eine 2te Datei erzeugen, ergänzen:
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! 



Datum
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%

echo %jahr%%monat%%tag%

erzeugt dann z.B.:20050921



FTP automatisieren:
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



und lese mal hier
http://www.softinterface.com/Convert-Doc/Foreign/German/Umwandeln-Dateien.HTM?gclid=CJWr_cbjjJUCFQpTtAodEmnyYQ


BATch in Text!!!
 

Dankeschön @ kiralove,

funktioniert alles, aber kannst du mir bitte noch sagen, wie ich diese datei jetzt über das intranet an einen anderen computer senden kann, bzw. wie ich die adresse eingeben muss....

thx

cu fischi

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Alle verfügbaren PCs im aktuellen Netzwerk suchen

Dieses Batch-Skript pingt alle IP-Adressen eines IP-Bereichs an und zeigt dann die PCs an, die verfügbar sind.

@echo off
 
del ips.txt > nul
 
echo Bitte geben Sie den ersten Teil der IP ein:
set /p ip=
 
for /L %%N IN (1, 1, 255) DO (
        echo Die IP: %ip%%%N wird nun angepingt
        ping %ip%%%N -n 1 -w 1 | find "TTL" && echo %ip%%%N >> ips.txt
)
 
cls
type ips.txt
pause >nul
   


ich hoffe das ist das was du meinst!??

Hallo, bin noch n bischen n noob in sachen batch dateien :D

hab ma so ne kleine frage die da wäre:

hab mir jetzt ne externe gekauft und dort einige filme/videos drauf, und ich will ne batch datei machen, das wenn ich diese ausführ, das sie mir ne liste mit allen möglichen dateien ausgibt die sich darauf befinden, möglichst alphabetisch sortiert.. habs ma mit dir ausprobiert aba da steht noch wann die datei auf die externe geschoben wurde und welche größe sie hat, gibts da noch andere möglichkeiten ne liste der vorhandenen dateien zu erstellen wo diese alphabetisch sortiert sind und nicht angaben wie größe und erstelldatum da stehn?

würd mich auf ne schnelle antwort freuen ;)

mfg michael

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Dafür nutzt du den Parameter /b

Du kannst dir alle möglichen Parameter anzeigen lassen mit /? 

« Letzte Änderung: 22.02.09, 22:11:19 von cottonwood »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

genau dir /b /ON


« Eingabemaske für Openoffice erstellenWindows XP, WMP 11 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Eingabeaufforderung
Die Eingabeaufforderung ist ein Begriff aus dem IT-Bereich und bezeichnet eine Markierung auf der Kommandozeile, welche auf die Stelle verweist, an der man Kommandozeilen...

ID3 Informationen
Die ID3 Informationen sind Textinformationen, die in einer mp3 Datei mitgespeichert werden können. Sie enthalten beispielsweise Daten zu Titel und Interpret, aber au...

Dateiendungen
Die Dateiendung, auch Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an den Dateinamen angehä...