Ordnernamen in Variablen speichern?
Hallo,
Ich bin auf der Suche nach einer Lösung um per Batch mehrere Ordnernamen, die in einem Ordner sind, in seperate Varibalen zu speichern. Ich habe verschiedenes ausprobiert, hat aber nie richtig funktioniert. Kennt jemand eine Lösung für das Problem?
Es geht auch in seperate Textdateien.
LG Nine
P.S. Seperat =
name1 in variable 1;
name2 in variable 2; usw.
2 Antworten
meinst Du sowas?
setlocal enabledelayedexpansion
rem startordner ist der ordner von wo sich die Suche nach unten verzweigt,
rem wenn leer dann bezieht sich das aufs aktuelle verzeichnis
rem parameter für "dir" : https://ss64.com/nt/dir.html
rem /a:d nur ordner ; /b balken-ausgabe ; /s rekursiv unterverzeichnisse
set "StartOrdner="
for /f "delims=" %%F in ('dir /a:d /b /s "%StartOrdner%" 2^>nul') do (
set /a count+=1
set "Ordner[!count!]="%%F""
)
set Ordner
pause
trivial...
Ja... auch in Batch kann man mit Arrays arbeiten. nur das es vollkommen egal ist ob man klammern punkte oser garnichts als Separator verwendet
Das ich gerne meinen Code direkt kommentiere macht Sinn.
Gewöhnlich kopieren die Nutzer den Code direkt. So geht die Information über die Bedeutung von Variablen und Code nicht verloren, selbst wenn die Quelle verloren geht. (viele Leute geben gern solche Tipps an anderer Stelle weiter ....)
Ich halte dies für guten Programmierstiel. ;)
Och. Ich fand das übersichtlich. Und ich hab einfach die REMs einfach gelöscht :D
Vielen Dank. Das ist genau das was ich suchte. Du hast mir sehr geholfen!
Wo ist das Problem ?

Das Problem ist, dass das Programm, die Ordnernamen nicht kennt. Er soll ihn herrausfinden. Das Programm erstellt sie auch nicht.
Dann lass deine Programmiersprache auf Systemvariablen zugreifen. Evtl. musst Du eine Systemvariable setzen mit 'setx' - und keine lokale Variable mit 'set'.
z.B. C#:
https://msdn.microsoft.com/de-de/library/77zkk0b6(v=vs.110).aspx
Deine Antworten wären übersichtlicher, wenn du den rem Text nicht in den Code, sondern einfach dadrüber schreiben würdest.