Forum: PC-Programmierung Batch file Windows - Dateien in einem Ordner in eine zeile


von Holger K. (holgerkraehe)


Lesenswert?

Hallo zusammen

Ich habe im Ordner folgende Struktur:

afoo1.rel
bfoo3.rel
main.rel
others.xy


nun möchte ich innerhalb eines batch scripts eine variable erhalten mit 
folgender struktur:

main.rel afoo.rel bfoo.rel

Wobei nur main.rel am Anfang stehen muss. Die Reihenfolge von xfoo.rel 
ist egal.

Hab das so versucht:
1
for %%f in (*.rel) do (
2
SET myvar = %myvar% +  %%~nf.rel
3
)

hat leider nicht funktioniert.

Bin froh um Hilfe.

Danke

von Sascha R. (srt2018)


Lesenswert?

1
set "myvar="
2
for %%f in (*.rel) do (
3
    call set "myvar=%%myvar%% %%~nxf"
4
)

Löst aber nicht die Reihenfolge-Anforderung. Dafür noch:
1
set "myvar=main.rel %myvar:main.rel=%"

von sid (Gast)


Lesenswert?

1
@ECHO off
2
SET myvar=pffft
3
IF EXIST main.rel CALL SET "myvar=main.rel"
4
FOR %%A IN (*.rel) DO (
5
IF NOT %%A == main.rel CALL SET "myvar=%%myvar%% %%A"
6
)
7
8
ECHO %myvar%

klappt bei mir jdf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.