d.t.soko
Goto Top

Variable: "dir /b *esu" setzen mit "set"

Hallo zusammen,

ich hab mal wieder ein Problem an dem ich irgendwie nich vorbeikommen:

Ich versuche eine *.ESU Datei zu verändern.
Dazu benutze ich das Programm XVI32.
Der teil geht schon, aber da sich der Dateiname ständig ändert brauch ich nen variablen Dateienamen den ich per Batch aufrufen kann.

Ich habs in alle Richtungen probiert aber irgendwie kommt dabei nur ein Fehler heraus oder "0".

Soweit zum Problem und jetzt meine Versuche:

set /a test=dir /b *esu

??? (es waren noch viel mehr aber damit will ich euch nicht langweilen)

Ich weis nicht weiter!!! Habe auch schon die Workshops durchsucht sowie Gegoogelt was das zeug hergibt aber trotzdem nix...

mfg
d.t.soko

Content-ID: 44158

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

Ausgedruckt am: 05.11.2024 um 19:11 Uhr

Biber
Biber 10.11.2006 um 15:03:13 Uhr
Goto Top
Moin D.T.,

poste bitte mal die relevanten Zeilen Deines Batches...
So ist für mich nicht ersichtlich, was genau Du in eine Variable packen willst und wo Du die verwendest.

Danke
Biber
D.T.Soko
D.T.Soko 10.11.2006 um 15:29:29 Uhr
Goto Top
Also:

ich hab ne Datei die Irgendwie so heist BWM90AZ1.ESU. Wobei das ESU immer gleich bleibt.

Es könnte theoretisch auch sein, dass mehrere Dateien im Verzeichniss sind, aber dazu werd ich mir noch was einfallen lassen.

der endgültige Befehl lautet:

xvi32 BWM90AZ1.ESU /S=Datei-convert.xcr

Jetzt hab ich rein Testhalber mal ne Variable angelegt mit:

set file=BWM90AZ1.ESU

Folglich:
xvi32 %file% /S=Datei-convert.xcr

funktioniert einwandfrei. Aber halt noch nicht automatisiert.
Dann dachte ich mir: Ok brauchst halt ne Variable die kriegste über dir /b *.esu:

Ergebniss:
BWM90AZ1.ESU

Jetzt weis ich aber nicht (ehrlich ich hab alles versucht) wie ich das Ergebniss in die Variable %file% reinkriege.

Klingt zwar für nen pro ziemlich einfach aber ich komm nicht dahinter.
Muss ich jetzt zuerst ne Variable anlegen und die dann ändern oder geht das mit "set /a"?

Danke für die Antwort
mfg
d.t.soko
Biber
Biber 10.11.2006 um 15:53:25 Uhr
Goto Top
Ah ja, D.T.,

dann versteh ich es (glaub ich)

Also: bei einer Datei im Verzeichnis:

For /f %%i in ('dir /b x:\verzeichnis\*.esu') do set "file=%%i"  
xvi32 %file% /S=Datei-convert.xcr

Bei mehreren Dateien im Verzeichnis, die alle verarbeitet werden sollen:

For /f %%i in ('dir /b x:\verzeichnis\*.esu') do call :convFile %%i  
goto :eof

:ConvFile
xvi32 %1 /S=Datei-convert.xcr

HTH Biber
D.T.Soko
D.T.Soko 10.11.2006 um 16:32:21 Uhr
Goto Top
Also erstmal danke für die schnelle Antwort....

ich werds mal ausprobieren aber erst am Montag.

wünsch dir ein schönes we und meld mich wieder am Montag.

thx
d.t.soko
D.T.Soko
D.T.Soko 13.11.2006 um 13:10:45 Uhr
Goto Top
servus nochmal,

also habs ausprobiert, den kompletten script einfach mal reigeschrieben, und wie erwartet hats funktioniert..... face-smile

thx thx thx

d.t.soko