nick.b
Goto Top

Nummer suchen und als Variable setzen

Ich stehe vor einem Problem und hoffe es kann mir jemand helfen.

Ich habe eine Textdatei in der eine Zahl steht und möchte diese gerne mit einer Batch Datei auslesen (was noch kein Problem darstellt) und die Zahl dann als Variable einsetzen. Ist dies mit Batch möglich ??

Danke schon mal im Vorraus !!

Content-Key: 258544

Url: https://administrator.de/contentid/258544

Printed on: April 24, 2024 at 15:04 o'clock

Member: rubberman
rubberman Dec 26, 2014 updated at 18:06:29 (UTC)
Goto Top
Hallo Nick.B.

Ich stehe vor einem Problem
Ich auch. Und zwar vor dem Problem, dass ich nicht sehe, wie der Inhalt deiner Datei aussieht. Besteht er nur aus der Zahl? Ist die Zahl irgendwo mitten in einem Text versteckt?
Ohne weitere Info lässt sich deine Frage nicht beantworten.

Grüße
rubberman
Member: Nick.B
Nick.B Dec 26, 2014 at 18:18:49 (UTC)
Goto Top
In der Textdatei steht nur eine Zahl sonst nichts
Member: Pjordorf
Solution Pjordorf Dec 26, 2014 updated at 19:17:00 (UTC)
Goto Top
Hallo (nicht an dich),

Zitat von @Nick.B:
Ist dies mit Batch möglich ??
Grundsätzlich ist diese Frage mit Ja zu beantworten, egal wie viele Fragezeichen face-smile
Set "meineneuevariable=meineausgeleseneZahl"  

Gruß (du ahnst es schon face-smile nicht an dich),
Peter
Member: rubberman
Solution rubberman Dec 26, 2014 updated at 19:16:48 (UTC)
Goto Top
Hallo Nick.B (ich grüße trotzdem).

  • Variante 1:
<"test.txt" set /p "num="

  • Variante 2:
for /f "usebackq" %%i in ("test.txt") do set /a num=%%i

<OrakelModus>
In der Textdatei steht nur eine Zahl sonst nichts
Da du die Textdatei mittels fehlerhafter ECHO-Umleitung aus einem Batchcode erzeugst, steht in deiner Datei hinter der Zahl noch ein Leerzeichen. Darum möchtest du (vorzugsweise) die Umleitung korrigieren, á la
>"test.txt" echo 123
oder Variante 2 nutzen.
</OrakelModus>

Grüße
rubberman
Member: Nick.B
Nick.B Dec 26, 2014 at 19:16:46 (UTC)
Goto Top
Vielen Dank
Member: Arniee
Arniee Jan 13, 2015 at 19:22:47 (UTC)
Goto Top
Prinzipiell hätte ich das jetzt so gelöst face-smile

for /f %%s in (Deine_txt.txt) do set Variable=%%s
echo %Variable%


Und noch eione Frage rubbermann was bedeutet "usebackq" bzw. welche funktion besitzt es?

Mfg
Arniee
Member: rubberman
rubberman Jan 13, 2015 at 19:53:15 (UTC)
Goto Top
Hallo Arniee,

USEBACKQ ändert die Syntax für den Streamtyp im Klammerausdruck. Normalerweise würde eine Zeichenfolge, die in Anführungszeichen steht, als Stringstream interpretiert werden. Um ihn als Dateistream zu interpretieren, benötigst du das USEBACKQ.
Warum das Ganze? Weil sich Nick.B darüber ausschweigt, ob der Dateiname Leer- oder Sonderzeichen enthält.
Wenn du mehr darüber wissen willst, schau dir eine englische Referenz zu FOR Schleifen an. (Die deutsche Onboard-Hilfe ist genau in diesem Punkt bereits seit mehreren Windowsversionen falsch).

Grüße
rubberman