Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - Verzeichnis mit Unterverzeichnise einlesen und den Inhalt als Variablen setzen

Frage Entwicklung Batch & Shell

Mitglied: xpander

xpander (Level 1) - Jetzt verbinden

13.04.2009, aktualisiert 19:39 Uhr, 4642 Aufrufe, 2 Kommentare

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:

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

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
Mitglied: xpander
13.04.2009 um 20:32 Uhr
Sorry Leute

Hab voll die /s Option beim "dir" Befehl überlesen.

set "PROGRAMME=%USERPROFILE%\Desktop\Test\Programme"
FOR /F "delims=" %%i in ('dir /S /B /O:N "%PROGRAMME%\*.exe"') do (
echo %%i >> %USERPROFILE%\Desktop\Test\Programme.log
echo set "%%~ni=%%i" >> %USERPROFILE%\Desktop\Test\Programme.bat
)
call %USERPROFILE%\Desktop\Test\Programme.bat

Ist allso gelöst, sorry nochmal für den sinnlosen Beitrag (Beitrag kann auch gelöscht werden)


gruß xpander
Bitte warten ..
Mitglied: Biber
14.04.2009 um 19:27 Uhr
Moin xpander,

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?
01.
... 
02.
set "PROGRAMME=%USERPROFILE%\Desktop\Test\Programme" 
03.
FOR /F "delims=" %%i in ('dir /S /B /O:N "%PROGRAMME%\*.exe"') do ( 
04.
echo %%i >> "%PROGRAMME%.log" 
05.
echo set "%%~ni=%%i" >>"%PROGRAMME%.bat" 
06.
07.
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
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Teil eines Strings als Variable setzen (2)

Frage von tHe-jAy zum Thema Batch & Shell ...

Batch & Shell
Zu viele Variablen in Batch-Script? Speicherproblem? (2)

Frage von dolsch zum Thema Batch & Shell ...

Batch & Shell
Variable setzen können während timeout (3)

Frage von DontFlameMeITryMyBest zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...