Unterverzeichnisse erstellen

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
HubertusG
Junior Member
Junior Member
Posts: 4
Joined: 2005-09-23, 09:48 UTC
Location: Dresden

Unterverzeichnisse erstellen

Post by *HubertusG »

Ich habe folgendes Problem,
in ca. 900 Ordnern müssen jeweils mehrere gleichlautende Unterordner erstellt werden.
Wie kann ich dies am schnellsten realisieren?

MfG
Hubertus
They can't take away our music!
cptpicard
Junior Member
Junior Member
Posts: 31
Joined: 2005-08-25, 17:58 UTC

Post by *cptpicard »

Nicht mit dem TC.

Vielleicht mit einem vbscript. Welche Skriptsprache beherrscht du?

Präzisiere deine Anforderung bitte.
HubertusG
Junior Member
Junior Member
Posts: 4
Joined: 2005-09-23, 09:48 UTC
Location: Dresden

Post by *HubertusG »

Scriptsprache leider keine...

Ich habe ca. 900 Verzeichnisse (0001 bis 0900),
diese stehen untereinander.
In jedem dieser Verzeichnisse sollen erstellt werden:
Unterverzeichnis 1
Unterverzeichnis 2
Unterverzeichnis 3
Unterverzeichnis 4
usw.
They can't take away our music!
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Mit einer batchdatei.

In etwa so:

for /f %%a in ('Ziellverzeichnise.txt') do for /f %%b in ('neueVerueichnisnamen.txt) do md %%b

Musst Du mal selbst ein wenig rumprobieren. Die Textdateien kannst Du evtl. mit dir /b /AD >Zielverzeichnisse.txt erhalten.

sieh Dir mal die Hilfe zu 'for' an.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
cptpicard
Junior Member
Junior Member
Posts: 31
Joined: 2005-08-25, 17:58 UTC

Post by *cptpicard »

Die Lösung als VB-Skript. Ändere bitte den Inhalt "folder" sowie die Datenfeldanzahl und den Inhalt von "NewFolder()" auf deine Bedürfnisse ab.

Code: Select all

Option Explicit

Dim fso 
Set fso = CreateObject("Scripting.FileSystemObject")

Dim i

Dim folder, subfolder
Dim NewFolder(3)

folder = "c:\Daten\"
NewFolder(0) = "Unterverzeichnis 1"
NewFolder(1) = "Unterverzeichnis 2"
NewFolder(2) = "Unterverzeichnis 3"
NewFolder(3) = "Unterverzeichnis 4"

Set folder = fso.GetFolder(folder)
Set subfolder = folder.SubFolders

For Each subfolder In folder.SubFolders
    For i = lbound(NewFolder) to ubound(NewFolder)
       fso.CreateFolder (subfolder.path & "\" & NewFolder(i))
    next
Next
Viel Spaß damit.

Achso....Datei als *.vbs abspeichern und einfach doppelklicken.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Na damit werden doch nur in c:\daten die Unterordner erstellt, oder?

Das Problem war doch, diese Unterverzeichnise in 900 Ordnern zu erstellen. Und dann neunhundert mal doppelklicken, nachedem ich 900 mal das Script geändert habe - das isses glaub ich nicht.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
cptpicard
Junior Member
Junior Member
Posts: 31
Joined: 2005-08-25, 17:58 UTC

Post by *cptpicard »

Nein, es werden die Verzeichnisse in allen Unterverzeichnissen von C:\Daten erstellt.

c:\Daten\xxxxxx\Unterverzeichnis 1
.....
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Speichere den nachfolgenden Text in die Datei '100Ordner.cmd'

Code: Select all

for /f "delims=" %%a in ('dir /b /AD') do for /f %%b in (c:\unterordner.txt) do (cd "%%a"
md %%b
cd ..)
Erstelle Dir eine Datei 'c:\unterordner.txt' (oder ändere Namen und Pfad in der Batchdatei), in der Die Verzeichnisnamen untereinander stehen z.B. so:

Code: Select all

Ordner1
Ordner2
Ordner3
Ordner4
Ordner5
Dann kopiere die '100Ordner.cmd' in das Verzeichnis, in dem die 900 Ordner liegen, die die neuen Unterverzeichnisse erhalten sollen, und doppelklicke einmal darauf.

ACHTUNG, diese Batchdatei erstell in jedem Unterordner die angegebenen Verzeichnisse. Wenn also Ordner in diesem Verzeichnis liegen, die diese Unterordner nicht erhalten sollen, müsste man noch etwas ändern.

Am besten das ganbze vorher noch einmal testen, ob es wie gewünscht arbeitet.

sheepdog
Last edited by Sheepdog on 2005-09-23, 17:33 UTC, edited 1 time in total.
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

cptpicard wrote:Nein, es werden die Verzeichnisse in allen Unterverzeichnissen von C:\Daten erstellt.

c:\Daten\xxxxxx\Unterverzeichnis 1
.....
Stümmt, klappt prima. Hab halt nicht wirklich Ahnung von VB. :oops:

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Ich habe mein Script noch einmal geändert (das Kommando "delims=" eingefügt), damit auch in Ordnern, die Leerzeichen enthalten, die Unterverzeichnisse erstellt werden.

sheedpog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
HubertusG
Junior Member
Junior Member
Posts: 4
Joined: 2005-09-23, 09:48 UTC
Location: Dresden

Post by *HubertusG »

Komme erst heute dazu:
Danke!
Habe mir 2 .cmd (wie von Sheepdog vorgeschlagen) erstellt bzw. angepasst,
einmal um nochmal die Verzeichnisse mit den Zahlen zu erstellen,
eine 2. um dort die Unterverzeichnisse zu platzieren.
Werde es morgen auf Arbeit dann anwenden.
Hubertus :lol:
They can't take away our music!
Post Reply