Klar, ich kann die Lösung mit dem Textfile machen (Wert in ein
Textfile schreiben, von dort in meine Variable auslesen,
Textfile löschen) - aber geht das bitte nicht auch eleganter?
Direkt? Ohne doofes Textfile dazwischen??
Hallo DN,
in meinem WinXP ist Dos so eingestellt daß da das Dos-Fenster nicht bestehen bleibt ohne daß ich Pause o.ä. benutze, deshalb benutze ich die Umleitung in eine txt.
Ich habe jetzt mal was getestet,
@echo off
for %%A in (dir k:*.*) do if %%A==k:\dir.txt echo %%A ohne Set > k:\test1.txt
for %%A in (dir k:*.*) do if %%A==k:\dir.txt set SW=%%A mit Set
echo %SW%>>k:\test1.txt
cls
type k:\test1.txt
pause
Und da ich die datei dir.txt nur einmal in K:\ habe gibt es nur einen Treffer und da gibt sich mit oder ohne Set nix.
Was willst du eigentlich mit der Umgebungsvariablen SW machen?
SW steht da nur kurzfristig drin.
Ich habe z.B. K: mittels Subst angelegt durch eine batch und K: steht für einen längeren Verzeichnispfad.
Das klappt bei mir und alle Programme erkennen K: da ich die batch in den Autostart ordner von Win gestellt habe.
Würde ich im laufenden Betrieb die gleiche batch starten und danach eine andere die mit Set die Umgebungsvariablen anzeigt wäre K: nicht dabei.
Sehr möglichereise könnte man das in einer batch mit
cmd /c subst
o.ä. trotzdem im laufenden Betrieb ermöglichen, ich habs zumindest nicht hingekriegt.
Ich kenne mich mit SQL, Access o.ä. Datenbank abfragen nicht aus.
Schreib mal was du eigentlich bezweckst, ggfs. können dir andere hier helfen das was du willst zu erreichen die sich mit SQL auskennen.
Oder muß es unbedingt Dos sein, wenn ja warum?
Gruß
Reinhard