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

Namen von Unterordnern in Variablen speichern

Frage Entwicklung Batch & Shell

Mitglied: zxmej10

zxmej10 (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 18.04.2008, 3432 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Aktuelle Codepage in Variable speichern (3)

Frage von tomaschku zum Thema Batch & Shell ...

Batch & Shell
gelöst Wert aus Batch Schleife in Variable speichern (5)

Frage von anmelder zum Thema Batch & Shell ...

Batch & Shell
Jede Zeile einer Textdatei in eigene Variable speichern (5)

Frage von tomaschku zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Taschenrechner in IOS kaputt!

(5)

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

Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

(3)

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Windows 7
Abbruch bei Brennvorgang (19)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (16)

Frage von Windows10Gegner zum Thema Router & Routing ...

Firewall
WIndows 7 RDP Massen Angriff (14)

Frage von Motte990 zum Thema Firewall ...