Frage von Firas2, 68

Batch Problem, aber wo und warum und wie soll ich es verbessern?

@echo off

set a=<a.txt (Inhalt: "a")

echo %a%

set a=<b.txt (Inhalt: "b")

echo %a%

pause >nul

Problem: Anzeige:

a

a

und nicht:

a

b

                                                         Danke

Antwort
von ThomasJNewton, 34

Ich möchte nicht mit so einem Quatsch belästigt werden.
Also pass in Zukunft besser auf deine Themen auf, mit Physik hat das nichts zu tun.
Und das ging an den, der das Thema gewählt hat.

Und an dich geht der Hinweis, dass hier oben ein Knopf "Codebeispiel einfügen ist".

Kommentar von Firas2 ,

technik gehört zu Physik... computer gehören zu technik... programmieren gehört zu computer... sorry, aber 1. es ist kein "Quatsch" 2. beruhige dich! 3. Ich hätte mich fast gefreut, dass ich eine Antwort bekommen habe. Ich weiß nicht, wer hier wen belästigt. 4. Ich glaube, bei einen so einfachen Code weiß man, dass das nur ein Beispiel ist.

Kommentar von Firas2 ,

achso sry, hab falsch gelesen. das mit dem Codebeispiel ist nicht schlecht. Danke

Kommentar von ThomasJNewton ,

Das alles ist in einem Ausmaß sachlich falsch, das du erst mit den Jahren verstehen wirst, und auch nur denn, wenn dir daran etwas liegt.

Genau so gut könntest du es unter "Protein" posten, denn Computer und -sprachen sind Menschenwerk, und Menschen bestehen zu einem wesentlichen Anteil aus Proteinen.

Kommentar von Firas2 ,

ok, dann füge ich es ein. ne Spaß XD

aber wenn dich meine Frage stört dann ignorieren und weiterlesen...

Kommentar von ThomasJNewton ,

Solange du aus meiner Kritik lernst:
Warum sollte ich?

Kommentar von ThomasJNewton ,

Und damit du nicht denkst, ich würde nur meckern, ich habe deinen Code als .bat und als .cmd erstellt, unter Windows XP.

Und die Dateien a.txt und b.txt erstellt, mit den Inhalten "a" bzw "b".

Und erhalte ein völlig anderes Ergebnis, nämlich

(Inhalt: "a")
(Inhalt: "b")

Es hat schon Menschen gegeben, die haben den kompletten Motor auseinander gebaut und wieder zusammen gesetzt, um dann festzustellen, dass der Tank leer war.

Wollen wir wetten, dass in deiner b.txt nicht "a" der Inhalt ist, und immer war?
Und/oder dass dein Code nicht der ist, der in deinem Batch steht?
Und/oder dass deine "Ausgabe" nicht der entspricht, die du hier gepostet hast?

Mir ist das latte.

Expertenantwort
von TomRichter, Community-Experte für Physik, 14

 wie soll ich es verbessern?

Woher hast Du denn die Information, dass diese Syntax

set a=<a.txt

funktioniere? Für welches Betriebssystem gilt die Information, welches Betriebssystem verwendest Du?

Bei mir (CMD unter Windows 10) bekomme ich diese Ausgabe:

F:\TEMP>test

ECHO ist ausgeschaltet (OFF).

ECHO ist ausgeschaltet (OFF).

weil weder die erste noch die zweite Zuweisung etwas am leeren Zustand von a ändern.

Mit /p bei den SET-Befehlen dagegen funktioniert es bei mir.

set /p a=<a.txt
Antwort
von triopasi, 51

Kann es sein, dass der wert von a einfach nicht geändert wird? Nimm doch einfach ne 2. Variable..

Kommentar von Firas2 ,

geht nicht. Ich arbeite an einem extrem komplizierten Programm, aber die Variablen verändern sich nicht.

Diese miniprogrammierung^^ war da, damit ich meinen Fehler finde...

Kommentar von Nenkrich ,

Wär das nicht zu einfach? ^^

Kommentar von Firas2 ,

hab mein Kommentar bearbeitet sry^

Keine passende Antwort gefunden?

Fragen Sie die Community