Batch - Verzeichnis mit Unterverzeichnise einlesen und den Inhalt als Variablen setzen
Hallo Leute
Ich bräuchte mal wieder etwas Hilfe...
Und zwar möcht ich ein Verzeichnis mit divesen Programmen einlesen und alle .exe Dateien
als Variable setzten.
Soweit kein Problem:
Ich habe aber der ordnunghalber auch Unterverzeichnise in %PROGRAMME% mit unterschiedlichen Namen.
Wie kann ich es anstellen, dass auch die Unterverzeichnise automatisch eingelesen werden ohne die Pfade direkt angeben zu müssen,
und beim Variablen setzen ebenfalls die richtigen Unterverzeichnisnamen bzw Pfade in die Programme.bat geschieben werden?
Kann mir jemand helfen?
gruß xpander
Ich bräuchte mal wieder etwas Hilfe...
Und zwar möcht ich ein Verzeichnis mit divesen Programmen einlesen und alle .exe Dateien
als Variable setzten.
Soweit kein Problem:
set "PROGRAMME=%USERPROFILE%\Desktop\Test\Programme"
FOR /F "delims=" %%i in ('dir /B /O:N "%PROGRAMME%\*.exe"') do (
echo %%i >> %USERPROFILE%\Desktop\Test\Programme.log
echo set "%%~ni=%PROGRAMME%\%%i" >> %USERPROFILE%\Desktop\Test\Programme.bat
)
call %USERPROFILE%\Desktop\Test\Programme.bat
FOR /F "delims=" %%i in ('dir /B /O:N "%PROGRAMME%\*.exe"') do (
echo %%i >> %USERPROFILE%\Desktop\Test\Programme.log
echo set "%%~ni=%PROGRAMME%\%%i" >> %USERPROFILE%\Desktop\Test\Programme.bat
)
call %USERPROFILE%\Desktop\Test\Programme.bat
Ich habe aber der ordnunghalber auch Unterverzeichnise in %PROGRAMME% mit unterschiedlichen Namen.
Wie kann ich es anstellen, dass auch die Unterverzeichnise automatisch eingelesen werden ohne die Pfade direkt angeben zu müssen,
und beim Variablen setzen ebenfalls die richtigen Unterverzeichnisnamen bzw Pfade in die Programme.bat geschieben werden?
Kann mir jemand helfen?
gruß xpander
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113756
Url: https://administrator.de/forum/batch-verzeichnis-mit-unterverzeichnise-einlesen-und-den-inhalt-als-variablen-setzen-113756.html
Ausgedruckt am: 15.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Moin xpander,
Aber da Du die selbst gefundene Lösüng hier für alle mit ähnlichen Problemen hier gepostet hast, ist der beitrag keinesweg sinnlos.
Für das bereitstellen Deiner Lösung deshalb noch mal vielen Dank und ich werde das bestimmt nicht löschen.
Ein Korrekturvorschlag noch:
Da Du doch die Variable mit dem Namen %PROGRAMME% ohnehin schon definiert hast, kannst Du die doch eigentlich auch verwenden, oder?
Dann kannst Du die Mimik ja auch mit EINER Anpassung in der "SET PROGRAMME=..."-Zeile auch für ein anderes Unterverzeichnis wie "D:\test\Schnipsel\VonKlara" oder whatever übernehmen.
Grüße
Biber
Ist allso gelöst, sorry nochmal für den sinnlosen Beitrag (Beitrag kann auch gelöscht werden)
Ja ist gelöst.Aber da Du die selbst gefundene Lösüng hier für alle mit ähnlichen Problemen hier gepostet hast, ist der beitrag keinesweg sinnlos.
Für das bereitstellen Deiner Lösung deshalb noch mal vielen Dank und ich werde das bestimmt nicht löschen.
Ein Korrekturvorschlag noch:
Da Du doch die Variable mit dem Namen %PROGRAMME% ohnehin schon definiert hast, kannst Du die doch eigentlich auch verwenden, oder?
...
set "PROGRAMME=%USERPROFILE%\Desktop\Test\Programme"
FOR /F "delims=" %%i in ('dir /S /B /O:N "%PROGRAMME%\*.exe"') do (
echo %%i >> "%PROGRAMME%.log"
echo set "%%~ni=%%i" >>"%PROGRAMME%.bat"
)
call "%PROGRAMME%.bat"
Dann kannst Du die Mimik ja auch mit EINER Anpassung in der "SET PROGRAMME=..."-Zeile auch für ein anderes Unterverzeichnis wie "D:\test\Schnipsel\VonKlara" oder whatever übernehmen.
Grüße
Biber