Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Namen von Unterordnern in Variablen speichern

Frage Entwicklung Batch & Shell

Mitglied: zxmej10

zxmej10 (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 18.04.2008, 3410 Aufrufe, 5 Kommentare

Hallo zusammen,

Ich befinde mich in einem Verzeichnis welches ein einzelnes Unterverzeichnis enthält. Der Name dieses Unterverzeichnisses ist nicht bekannt bzwl variiert.
Frage: Wie speichere ich den Namen dieses einzelnen Unterverzeichnisses in die Variable %unterverz% ab?

Schwierigere Form: das Verzeichnis enthält nun mehrere Unterverzeichnisse, die in die Variablen %unterverz1%, unterverz2%, unterverz(...)% gespeichert werden sollen, und zwar in der Reihenfolge in der die Unterverzechnisse auf der Festplatte erstellt wurden (d.h. %unterverz1% enthält den Namen des zuerst, %unterverz(...)% des zuletzt erstellten Unterverzeichnisses)

Ich möchte wie gesagt nicht den gesamten Pfadnamen, sondern nur den Namen des Unterverzeichnisses abspeichern.
Der Name kann Leerzeichen und Punkte enthalten, die dementsprechend mit in die Varaiablen abgespeichert werden sollen.

dank Euch im voraus,
Oli
Mitglied: 54487
17.04.2008 um 12:17 Uhr
Hallo,
hier ein Ansatz:

01.
@echo off & setlocal 
02.
set Verzeichnis=X:\Verzeichnis 
03.
cd /d %verzeichnis% 
04.
 
05.
Set nr=0 
06.
for /f %%i in ('dir /b /AD /OG') do call :process %%i 
07.
set unt 
08.
pause 
09.
goto :eof 
10.
 
11.
:Process 
12.
set /a nr=%nr%+1 
13.
set unterverz%nr%=%1
Bitte warten ..
Mitglied: zxmej10
18.04.2008 um 09:34 Uhr
cool... das ist schon (fast) die Loesung, vielen Dank....

einziges Problem: Die Unterverzeichnisnamen enthalten Leerzeichen, und die Verzeichnisnamen werden nur bis zu jenem gespeichert, d.h. aus dem Namen "dies ist unterverzeichnis nummer eins" speichert die Variable unterverz1 lediglich "dies".

Gibt es dafuer Abhilfe?

vielen Dank,
Oli
Bitte warten ..
Mitglied: Biber
18.04.2008 um 10:15 Uhr
Moin zxmej10,

nachdenker war gestern etwas länger unterwegs, deshalb flicke ich mal provisorisch.
01.
@echo off & setlocal 
02.
set "Verzeichnis=X:\Verzeichnis" 
03.
PushD "%verzeichnis%" 
04.
 
05.
Set /a nr=0 
06.
FOR /F "delims=" %%i in ('dir /b /AD /OG') do call :process "%%i" 
07.
PopD 
08.
set unt 
09.
pause 
10.
goto :eof 
11.
 
12.
:Process 
13.
set /a nr=%nr%+1 
14.
set "unterverz%nr%=%~1"
Grüße
Biber
Bitte warten ..
Mitglied: zxmej10
18.04.2008 um 17:19 Uhr
fun###iert ganz hervorzueglich, sogar die zeitliche Sortierung.
vielen Dank!

...kleine Frage noch zum Schluss: welchen Schalter (?) muss ich aendern wenn ich alphabetisch sortieren will?

danke nochmal,
Oli
Bitte warten ..
Mitglied: Biber
18.04.2008 um 17:32 Uhr
Moin zxmej10,

das sollte mit gehen mit:
dir /ad /on /b

Kannst Du ja mal am CMD-Prompt im betreffenden Verzeichnis gefahrlos testen.
Ebenso wie ein "Dir /?" in einem beliebigen Verzeichnis.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
gelöst Datei mit variablem Namen einlesen und als Excel speichern (1)

Frage von Anrion zum Thema VB for Applications ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Microsoft Office
gelöst Dropdownlisten in Abhängigkeit mit Leerzeichen im Namen (Datenüberprüfung) (2)

Frage von kevische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...