Batch - Befehl einer Variable zuweisen

frey

Ensign
Registriert
Juni 2002
Beiträge
232
Hallo,

ich habe ein Problem bei der Batch-Programmierung.
Zuersteinmal der Quallcode...

@echo off
cls
dir c:\test /s /b|find "test.txt"

wenn ich die batch bis hierhin ausführe, bekomme ich, "verschuldet" durch die letze zeile den pfad der mittels "find" gefundenen Datei ausgegeben. diesen pfad will ich in eine variable schreiben um ihn weiterverarbeiten zu können...doch wie mach ich das genau?
 
Was heisst den Variable? Quasi ein String für zb. C++ Programmierung? Ansonste mach mal:
dir c:\test /s /b|find "test.txt" > variable.txt
Sollte si funktionieren.
Anbei: So kann mann auch das dir Ergebniss direkt ausdrucken: hinter dem > einfach LPT1. (Geht natürlich nur, wenn der Drucker an LPT1 angeschlossen ist, oder LPT auf ne IP umgeleitet ist...)
 
Ich würde dir da eher Windows Scripting Host per VB oder JS empfehlen. Batch ist zu primitiv. :)

Sonst kannst du dir das mal angucken.
 
Batch-Programmierung ist nicht primitiv, man muss sich nur ein bisschen damit beschäftigen, dann klappts auch mit dem Nachbarn, Ihr Experten ;)

Also, so deklarierst du die Variable mit dem Ergebnis des finds:

dir c:\ /s /b|find "test.txt" >C:\Ergebnis.txt
FOR /F "eol= tokens=1" %%i in (C:\Ergebnis.txt) do set VARIABLE=%%i

Wenn die test.txt allerdings mehrfach vorhanden ist, wird die zuletzt gefundene in die Variable geschrieben, irgendwie logisch oder ? :D

justmy2cents

PCB
 
PCB schrieb:
Batch-Programmierung ist nicht primitiv, man muss sich nur ein bisschen damit beschäftigen, dann klappts auch mit dem Nachbarn, Ihr Experten ;)
Wieso ihrExperten? Ich hab nicht gesagt, dass es primitv is. Ich find batch goil!

PCB schrieb:
dir c:\ /s /b|find "test.txt" >C:\Ergebnis.txt
FOR /F "eol= tokens=1" %%i in (C:\Ergebnis.txt) do set VARIABLE=%%i


kannst du mir mal die Zeile erklären?
FOR /F "eol= tokens=1" %%i in (C:\Ergebnis.txt) do set VARIABLE=%%i
 
Zurück
Oben