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
{{percentage}} % positiv
DANKE für deine Bewertung!
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
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
Ich würde es so machen! @echo off Color c Title Beispiel...
Beitrag erstellt von anonym
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?
User: skyhype ich will meinem boss das schicken könnt ihr mir helfen wie das geht
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.
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.
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
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
Nein das geht nicht.
Beitrag erstellt von anonym
User: Derderallesweiß +Brauch\'su nix wissen! cooles programm habs noch ein bisschen optimiert und angepasst :)
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
User: BC13 Win7-64 CMD Hallo zusammen, ich möchte ein anders port verwenden, gibt es da eine lösung ?
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