Praktische Beispiele mit Batch

Umgang mit Variablen in Windows Batch (Eingabeaufforderung)

alle Variablen auslesen

Variablen können in der Eingabeaufforderung mit dem Befehl set ausgelesen werden:  

set

Ausgabe:

C:\Users\username>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\username\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=MY-COMPUTERNAME
ComSpec=C:\WINDOWS\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOMEDRIVE=C:
HOMEPATH=\Users\username
LOCALAPPDATA=C:\Users\username\AppData\Local
...

Variable setzen

SET Variable=hallo

Variable verwenden

echo %Variable%

Ausgabe:

C:\Users\username>echo %Variable%
hallo

Zeichenfolge in einer Variable ersetzen

SET Variable=hallo
echo %Variable:hall=hell%

Ausgabe:

C:\Users\username>SET Variable=hallo
C:\Users\username>echo %Variable:hall=hell%
hello

Datum

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


Beispiel: echo %jahr%%monat%%tag%
Ausgabe:

C:\Users\username>set jahr=%date:~-4%
C:\Users\username>set monat=%date:~-7,2%
C:\Users\username>set tag=%date:~-10,2%
C:\Users\username>echo %jahr%%monat%%tag%
20161017

Zeit

set stunde=%time:~0,2%
set minute=%time:~3,2%


set stunde=%time:~0,2%
set minute=%time:~3,2%
Beispiel: echo %stunde%:%minute%

Ausgabe:

C:\Users\username>set stunde=%time:~0,2%
C:\Users\username>set minute=%time:~3,2%
C:\Users\username>echo %stunde%:%minute%
11:01

eine 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!   

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

automatisch Dateien runterladen:

wget for Windows siehe http://gnuwin32.sourceforge.net/packages/wget.htm

download.exe 
zu finden unter:  www.sql-und-xml.de 

Syntax:
download https://www.libe.net/seite/bild.gif c:\download\bild.gif user passwort

Bilder bearbeiten

Import und Export in zahlreiche Grafikformate
Multi-Frame-TIFF, Animiertes GIF & ICO
Größe ändern
Anpassen von Helligkeit, Kontrast, ...
Ändern der Farbtiefe
Anwenden von Filtern (Weichzeichnen, Relief, ...)
Anwenden von Effekten (Linse, Welle, ...)

mit dem cmd Tool: nconvert
siehe:  www.xnview.com       

IP-Adresse ändern:

netsh interface ip set address local static 192.168.0.1 255.255.255.0   

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 21.08.2012 von Bernhard
geändert am 17.10.2016 von Bernhard



Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
erstellt am 14.04.2015 15:04
User: LOL 
Schreibt mal das in eine Batch Datei:
@echo off
mode 1000
:a
color 0a
color 0b
color 0c
color 0d
color 0e
color 0f
Echo %random%%random%%random%
goto a

PS. %random% muss nicht so oft sein

Viel Spass

✍Murat
erstellt am 21.07.2020 12:07
Kann man die komplette Bildschirmausgabe in eine "log.txt" speichern, wenn z.B.: 

p winscp /console /script=F:\download.txt > F:\log.txt

aufgerufen wird.

Hier wird leider nichts geloggt, weil sich ein neues Fenster öffnet.

Gibt es eine Möglichkeit den Inhalt, des nächsten Fensters in "log.txt" anzuhängen?

✍anonym
erstellt am 01.11.2019 15:11
User: Rainer 
Wie kannn ich mit Batch-Befehlen UNC-Pfade ansprechen?

✍anonym
erstellt am 14.05.2019 12:05
User: skyhype 
ich will meinem boss das schicken könnt ihr mir helfen wie das geht

✍anonym
erstellt am 30.08.2018 08:08
User: automatenkind 
Hallo,
vllt kann mir hier jemand helfen. Und zwar habe ich einen Web Client im Autostart, dieser soll sich nach einem Neustart mit dem Web Server automatisch verbinden. Bei jedem Neustart muss dem Web Client aber die Server IP gegeben werden. Kann ich diese per Batch Datei dort automatisch eingeben?

Freue mich über jede Hilfe.

✍anonym
erstellt am 19.08.2017 20:08
User: Chris 
Wie kann ich mit Batch auf meinem FTP-Server (Filezilla Server) jpeg's löschen die älter als zB.  2 Tage sind (automatisch)? Es handelt sich hier um den localhost (127.0.0.1). Jpeg's kommen von einer Überwachungskamera.

✍anonym
erstellt am 04.01.2017 21:01
User: das_geht_auch 
Eine Datei kann man auch wie folgt erstellen:
cmd Fenster aufrufen:
copy con >D:\test.cmd (oder .bat oder .txt oder ... einfach probieren)
[alles, was ihr nun auf der CONsole tippert wird ins Fenster kopiert und gleichzeitig auf die Datei umgeleitet.]
Beendet wird das mit STRG-Z

✍anonym
erstellt am 09.09.2016 15:09
User: Martin 
Hi ich hab mittlerweile schon öfters sachen in batch geschrieben und meine frage ist 

wenn die batch datei fertig ist und ich dann drauf klicke öffnet sich cmd und führt das ganze aus nun meine frage kann ich wärend er die batch datei ausführt in cmd (ganz normal) eine änderung vornehmen und diese abspeichern ich will das aber über die cmd machen und nicht erst wieder in die batch datei und um schreiben 

✍anonym
erstellt am 25.02.2016 20:02
User: Derderallesweiß 
+Brauch\'su nix wissen! cooles programm habs noch ein bisschen optimiert und angepasst :)

✍anonym
erstellt am 03.08.2015 11:08
User: DoktorSommer 
Hallo, 

habe ein Sync-Programm (für Kalenderabgleich). Gibt es die Option, das Programm zu per Script zu starten (das geht, das weiß ich und habs schon umgesetzt) und einen darin enthaltenen Befehl, z. B. Sync, gleich mit zu übergeben? Derzeit beginnt der Sync-Prozess nur, wenn ich in manuell starte. 
Danke für eure Hilfe 

✍anonym
erstellt am 11.05.2015 17:05
User: BC13 
Win7-64 CMD
Hallo zusammen, ich möchte ein anders port verwenden, gibt es da eine lösung ?

✍anonym
erstellt am 05.01.2015 17:01
User: p_w 
Wie kann ich in Win 7 64bit eine bat- oder cmd-Datei direkt aus dem Explorer oder einem Dateiverwaltungsprogramm starten ?
p_w

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Mehr Details