[BAT-Dateien] Was ist alles möglich ?

daemon777

Lt. Commander
Registriert
Dez. 2003
Beiträge
1.371
Hallo !

Ich bins ma wieder. Diesmal habe ich folgende Fragen:

1. Was ist mit BAT Dateien alles möglich ?
Ich weiß bisher nur dass man damit exe dateien starten kann.
2. Wie kann ich diese Dinge tun ?
3. Kann man auch irgendwie ein Bild öffnen und eine Musikdatei starten ?

Ich denke ihr könnt mir helfen.

Danke schon mal ! :)
 
mit .bat dateien kannst du mehrere ms-dos befehle aneinanderreihen, um skripte ausführen zu lassen. z.B. automatisch Ordner erstellen oder löschen, dateien ausführen usw usf.

Du kannst allerdings nicht Programmieren, da .bat dateien nicht rechnen können, und variablen sind imo auch nicht möglich.

Klar kannst du alle möglichen Dateien starten, denn die Dateien sind ja vorher mit einem Programm verknüpft, wenn du ein doppelklick auf eine .bmp-file machst, startet sich ja dein Bildbearbeitungsprogrogramm. Wenn du also einfach die Datei per batch aufrufst, startet automatisch das entsprechende Programm dazu.
 
Batch Programmierung - ähnlich wie Unix Shell Skripte.
Du kannst damit Skriptprogrammierung betreiben.

Hier gibt es ein Tutorial.
 
Aha danke schon mal.

Aber ist es denn nun möglich Musikdateien zu starten oder nicht ?

Ich gugg mir jetzt erst mal die Seite an ! :)
 
ja natürlich.

dazu muss du die datei mit dem Lied als Parameter hinter dem Programmnamen des players angeben. z.B

c:\programme\winamp\winamp.exe d:\musik\alle_vöglein_sind_schon_da.mp3

Das müsste funzen.
 
Ah danke probier ich gleich mal aus.
Und mit dem Anzeigen von Bildern genauso denk ich mal oder ?
 
Wie schonmal angedeutet, kannst du alle Dateitypen öffnen, die mit einem Programm verknüpft sind.

Einfach folgende Zeile in die Batch-Datei einfügen.
Code:
 start Musikbeispiel.mp3
 
Also bei mir kommt dann die Konsole mit dem Pfad aber die Datei wird nicht geöffnet !
Also zb: ich habe eingegeben : C:\Programme\Ordner\Test.wma
Dann öffnet die Konsole und da steht dann C:\Programme\Ordner>
aber die Datei wird nicht geöffnet !
 
Du kannst auch:

if exist ?:\bla.mp3 ?:\winamp.exe ?:\bla.mp3
if not exist ?:\bla.mp3 goto next

:next
echo "datei nicht vorhanden, versuche datei 2 abzuspielen"
goto alt

:alt
if exist ?:\bla2.mp3 ?:\winamp.exe ?:\bla2.mp3
if not exist ?:\bla2.mp3 goto error

:error
echo "auch diese datei existiert nicht, bitte überprüfen"

Die "?" sind die Pfade diese dann ersetzen.

Man kann vieles mit Batch machen, eigentlich alles, nur weiss ich nicht
ob unter XP die Variablen noch funktionieren denn das ist DOS.
Das da oben ist jetzt nur ein grobes Beispiel, du kannst mächtige Batchdateien basteln, kommt natürlich immer darauf an wofür und was man vorhat.
 
daemon777 schrieb:
Also bei mir kommt dann die Konsole mit dem Pfad aber die Datei wird nicht geöffnet !
Also zb: ich habe eingegeben : C:\Programme\Ordner\Test.wma
Dann öffnet die Konsole und da steht dann C:\Programme\Ordner>
aber die Datei wird nicht geöffnet !

Das liegt an dem Pfad, da er einen zu langen Namen hat, kann DOS (batch ist dosbasiert) den nicht ausführen. Versuch es mal mit kurzen Namen oder den Befehl in "C:\Programme\Ordner\Test.wma" zu setzen, zuerst solltest Du aber auch noch sagen mit welchem Programm Test.wma ausgeführt werden soll
Beispiel: C:\winamp.exe "C:\Programme\Ordner\Test.wma" wenn die winamp.exe auf C:\ liegt.
 
Mit der Länge hat das nicht viel zu tun. Das einzige was sein könnte sind Leerstellen im Pfad. Dann musst du, wie werkam richtig geschrieben hat den Pfad in " " einfassen (lassen).
 
Es hat auch was mit der Länge zu tun. Dos erkennt nur Dateien und Pfade mit 8+3 Buchstaben. Sonst muß er ein altes Dostool installieren "LFNxx" oder so hieß das, läüft aber unter XP nicht.
 
Ist es auch möglich, automatisch eine Internetverbindung zu starten ? Bzw. wie ?
 
Zum Starten von egal welcher Datei immer start "Pfad\Datei".

Damit sollte Windows die entsprechende Datei mit der Standard-Öffnen-Funktion öffnen.
 
Schon mal was von nem Macrorecorder gehört?

Beispiele was möglich ist:
Internet Verbindung aufbauen, Emails abrufen, eine Seite ansurfen z.B. ebay und ein Gebote abgeben, Verbindung trennen, PC runterfahren.
Du kannst damit alles das machen was du sonst machst, das Teil nimmt alle deine Maus Aktions in einem Script auf und kann sie dann exakt in der selben Reihenfolge wieder abspielen.
Gab es früher unter Win3.1 kostenlos von MS, jetzt nur noch extern von diversen Programmierern, kostet natürlich einige Euros, aber wer in Abwesenheit den PC auch nutzen möchte dem kann ich sowas nur empfehlen.

Nur ein Beispiel wofür ich es benutze.
Es ist Freitag, mein Rechner fährt ganz alleine um 15h hoch, startet meinen FTP Server, im FTP wiederum wird meine dynamischer IP Dienst von No-Ip.com gestaret und meine IP aktuallisiert damit ich dann von der Arbeit aus die ganze Wochenend Malohe direkt in ein Verzeichnis auf meine Platte schauffeln kann.
Um Punkt 16h wird der FTP beendet und das Mail Programm gestartet welches wiederum meine Mails abruft, dafür gebe ich eine Zeitspanne von 10 Minuten an, dananch wird das Mail Programm beendet und der Rechner runtergefahren.

Wann der Rechner hochfahren soll stellt man im Bios ein, den Rest sobald Windows geladen ist übernimmt das Script des Macrorecorders.
Eine sehr gute Sache sag ich euch.
 
Anscheinend lag es wirklich an der Länge !
Denn jetzt hab ich das ganze einfach in C:\ kopiert ohne irgendeinen Ordner und es geht so wie ich will !
Gibt es auch noch die möglichkeit eine Datei per .bat datei zu minimieren ?
Fänd ich nämlich recht praktisch !
 
werkam schrieb:
Es hat auch was mit der Länge zu tun. Dos erkennt nur Dateien und Pfade mit 8+3 Buchstaben. Sonst muß er ein altes Dostool installieren "LFNxx" oder so hieß das, läüft aber unter XP nicht.
Ok, bei nem richtigen Dos Programm stimme ich dir zu.

Die Windows Console seit Windows 2000 hat aber außer ein paar Befehlsnamen mit dem alten Dos rein garnichts mehr gemeinsam. Ok, beide sind Kommandozeilen, beide haben (standardmäßig) einen schwarzen Hintergrund und rein-Windows Kiddies können beide (noch) nicht bedienen.

Seit Win2k kann die Konsole ohne Probleme mit den langen Dateinamen umgehen und sogar FOR und andere Schleifen in Batch Dateien verarbeiten.

Die interne maximale Länge (laut Windows API) für einen Pfad sind ~260 Zeichen. Das is wirklich ein Haufen Text :)
Pfade mit Leerzeichen müssen an der Konsole (dementsprechend auch in Batch-Dateien) in " " eingefasst werden, damit der gesamte Pfad als 1 Argument gewertet wird. Das Trennzeichen für Argumente ist halt die Leerstelle :/
 
Zuletzt bearbeitet: (hab nen halben Satz vergessen)
[UPS]Erazor schrieb:
Ok, bei nem richtigen Dos Programm stimme ich dir zu.

Die Windows Console seit Windows 2000 hat aber außer ein paar Befehlsnamen mit dem alten Dos rein garnichts mehr gemeinsam. Ok, beide sind Kommandozeilen, beide haben (standardmäßig) einen schwarzen Hintergrund und rein-Windows Kiddies können beide (noch) nicht bedienen.

Seit Win2k kann die Konsole ohne Probleme mit den langen Dateinamen umgehen und sogar FOR und andere Schleifen in Batch Dateien verarbeiten.

Die interne maximale Länge (laut Windows API) für einen Pfad sind ~260 Zeichen. Das is wirklich ein Haufen Text :)
Pfade mit Leerzeichen müssen an der Konsole (dementsprechend auch in Batch-Dateien) in " " eingefasst werden, damit der gesamte Pfad als 1 Argument gewertet wird. Das Trennzeichen für Argumente ist halt die Leerstelle :/


Also die For-Schleife in Bat konnte schon mein MS DOS 5.0 und die seit Win2k verfügbare Konsole ist insofern in Punkto BAT der totale Müll, weil zB der Befehl CHOICE nimmer implementiert ist.
Weisst du, wieviel Arbeit das macht, den nachzuprogrammieren?
 
pcwTJaR schrieb:
Also die For-Schleife in Bat konnte schon mein MS DOS 5.0 und die seit Win2k verfügbare Konsole ist insofern in Punkto BAT der totale Müll, weil zB der Befehl CHOICE nimmer implementiert ist.
Weisst du, wieviel Arbeit das macht, den nachzuprogrammieren?
Nein :) Ich habs aber auch nie versucht.
Ich nehm zum shell scripten immer die Kommandozeilenversion von PHP. Is für mich einfach schneller und zudem mächtiger
 
Also ich hab Windows XP prof und seit ich die Länge des Pfades gekürtzt hab geht es !!! Ich hab ansonsten nichts verändert !
 
Zurück
Oben