Unterverzeichnisse erstellen
Moderators: Hacker, Stefan2, white
Unterverzeichnisse erstellen
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
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!
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
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
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Die Lösung als VB-Skript. Ändere bitte den Inhalt "folder" sowie die Datenfeldanzahl und den Inhalt von "NewFolder()" auf deine Bedürfnisse ab.
Viel Spaß damit.
Achso....Datei als *.vbs abspeichern und einfach doppelklicken.
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
Achso....Datei als *.vbs abspeichern und einfach doppelklicken.
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
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
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Speichere den nachfolgenden Text in die Datei '100Ordner.cmd'
Erstelle Dir eine Datei 'c:\unterordner.txt' (oder ändere Namen und Pfad in der Batchdatei), in der Die Verzeichnisnamen untereinander stehen z.B. so:
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
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 ..)
Code: Select all
Ordner1
Ordner2
Ordner3
Ordner4
Ordner5
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
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Stümmt, klappt prima. Hab halt nicht wirklich Ahnung von VB.cptpicard wrote:Nein, es werden die Verzeichnisse in allen Unterverzeichnissen von C:\Daten erstellt.
c:\Daten\xxxxxx\Unterverzeichnis 1
.....

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
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
sheedpog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
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
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

They can't take away our music!