Supportnet / Forum / Anwendungen(Java,C++...)
Mit Batch Textdatei auslesen und verarbeiten
Frage
Hallo Gemeinde,
ich habe da mal wieder ein Probleme und bin auf eure Hilfe angewiesen. Ich hoffe ihr könnt mir hierbei wieder helfen.
Ich habe eine Batch-Datei, die ein bestimmte Datei ausführen soll, z.B. Hilfe.doc. Dieses Programm soll aber nur ausgeführt werden, wenn eine Textdatei mit folgenden Inhalt vorhanden ist.
Name der Textdatei: key.txt
Inhalt: 012345ABC
Wenn diese Datei nicht vorhanden ist, soll die Datei nicht aufgerufen werden (ich weiß manuell wäre dieses immer noch machbar, das ist aber egal), dann soll eine Fehlermeldung aufgerufen werden.
Mein Problem ist nun, wie kann ich dieses umsetzten.
Hauptproblem: Wie kann ich der Batchdatei sagen, überprüfe ob die Datei-mit diesem Inhalt da ist.
Ich hoffe Ihr könnt mir hierbei helfen.
Vielen Dank erstmal im Vorraus.
MfG,
IT304
Antwort 1 von Massaraksch
Könnte z.B. so aussehen (eine Zeile!):
Natürlich evtl. noch Anpassung nötig, z.B. Pfadangabe zur "key.txt" bzw. "Hilfe.doc" o.ä.
Mit *.doc Dateien muß natürlich auch ein Programm/Viewer korrekt verknüpft sein, i.A. Microsoft Word
Massaraksch
for /f %%i in (key.txt) do @if %%i equ 012345ABC (Hilfe.doc) else echo Fehler! & pause
Natürlich evtl. noch Anpassung nötig, z.B. Pfadangabe zur "key.txt" bzw. "Hilfe.doc" o.ä.
Mit *.doc Dateien muß natürlich auch ein Programm/Viewer korrekt verknüpft sein, i.A. Microsoft Word
Massaraksch
Antwort 2 von Massaraksch
Hinweis: Die Prüfung
if %%i equ 012345ABC
unterscheidet Groß/Kleinschreibung. Falls nicht gewünscht, dann
if /i %%i equ 012345ABC
Massaraksch
if %%i equ 012345ABC
unterscheidet Groß/Kleinschreibung. Falls nicht gewünscht, dann
if /i %%i equ 012345ABC
Massaraksch
Antwort 3 von Massaraksch
Etwas erweitert:
Kann man ja noch etwas rumspielen...
Massaraksch
@echo off
if not exist key.txt echo Key.txt nicht vorhanden! & pause & goto :eof
for /f %%i in (key.txt) do @if %%i equ 012345ABC (Hilfe.doc) else echo Falscher Key! & pause
Kann man ja noch etwas rumspielen...
Massaraksch
Antwort 4 von Massaraksch
Falls der Umbruch nicht stimmt: Letztes Beispiel besteht aus genau drei Zeilen.
@echo off
if not exist ... usw.
for /f %%i ... usw.
Massaraksch
@echo off
if not exist ... usw.
for /f %%i ... usw.
Massaraksch
Antwort 5 von IT304
Danke Massaraksch,
deine erster Tipp, hat mir wunderbar geholfen.
Thanx nochmal
Grüße
IT304
deine erster Tipp, hat mir wunderbar geholfen.
Thanx nochmal
Grüße
IT304