hier mein Problem: ich häng derzeit an einem Projekt fest, darin gehts darum 2 Dateien die mit einem Programm erstellt wird zu vergleichen (da mir die Windows Bordmittel der CMD nicht reichen hab ich ein Zusatztool SFK.exe (zu finden hier http://goo.gl/KJNfu) ). Das Programm erstellt eine vom Benutzer eingegebenen Daten eine Datei, diese Datei enthält lediglich die Antwort und die Zuordnungsnummer der Frage (Frage1 mit a beantwortet - Frage2 mit d beantwortet) (Sicherheitshalber zu erwähnen: Die 2. Datei wurde von einem anderen Nutzer erstellt). Und nun sollen dieses 2 Dateien verglichen werden indem jede Antwort einen prozentualen Wert erhält und am Ende dieser Zusammen Addiert wird. Ja ich weiß das es eine relativ komplexe Aufgabe ist, aber eine solche muss irgendwie zu bewerkstelligen sein.
Jeder Buchstabe ist einer bestimmten Antwort zugeordnet deren Fragen sich in einer anderen Datei befindet und über den Type-befehl abgerufen wird. Es gibt in der Datei 4 Fragen und zu jeder Frage je 4 Antworten, jeder Antwort soll ein Prozentualer Wert zu geteilt werden. Dies bei beiden Dateien und am Ende sollen von den beiden Prozentualen Zahlen der Durchschnitt errechnet werden
Das ist ja schon eine größere Aufgabe. Leider habe ich jetzt keine Zeit dir eine komplette Lösung für die gesamte Problematik zu schreiben (ich würde hier auch keine Batch Dateien benutzen, da es in Programmiersprachen wie Perl oder C# einfach schneller zu lösen ist), aber ich gebe dir gerne einen Ansatz und ein paar Links mit:
Mit folgendem Code kannst du eine Textdatei zeilenweise durchlaufen und dir jede Zeile in der Konsole ausgeben lassen. Alternativ kannst du auch jede Zeile in einer Variablen speichern.
@echo off &setlocal pushd ="C:\meinVerzeichnis\" for /f "tokens=*" %%i in (MeineDatei.txt) do ( echo %%i ) popd pause
Nun musst du noch, entsprechend dem Aufbau deiner Textdatei splitten, um an deine einzelnen Werte zu gelangen (oder du schreibst in jede Zeile nur einen Wert, dann kannst du mit Modulo abfangen in welcher Zeile du bist) und diese in deinem Sinne miteinander verknüpfen.
Ich rate dir hier zu einer "echten" Programmiersprache, da komplexere Aufgaben einfach unschön in einer Batch zu lösen sind... Meiner Meinung nach ;-)
// EDIT Und natürlich noch ein paar Links zum generellen Umgang mit Batch:
du kannst dir den Inhalt zeilenweise in eine Variable schreiben lassen, statt sie mit echo auszugeben, das Ganze machst du dann mit der zweiten Datei, dann hast du entweder ein Array welches pro Index eine Zeile deiner Textdatei beinhaltet oder zwei Variablen mit dem kompletten Inhalt (konkaterniert). Dann kannst du die vergleichen (Variablen setzen siehe: set /p "x=%%i").
Also Datei 1:
1 a
2 d
3 c
Datei 2:
1 b
2 a
3 f
Wie sieht für dieses Beispiel das Ergebnis aus?
Für mich wäre das dann kein Vergleich, sondern eine Berechnung.