Script um automatische Verzeichnissstruktur anzulegen
Hallo Zusammen,
ich suche ein Script oder ein Tool mit dem ich eine leere Verzeichnisstruktur auf einer Windowsmaschine anlegen kann.
Ziel ist es einen Namen und ein Pfad einzugeben und dann soll das Script die vorher definierte Struktur automatisch anlegen.
z.B. Name: Project01
Pfad: \\Server01\Projecte\
Dann soll es vom Script angelegt werden:
\\Server01\Projecte\Project01\Fotos
\\Server01\Projecte\Project01\Infos
\\Server01\Projecte\Project01\Doc
\\Server01\Projecte\Project01\Doc_2005
usw. in der Art und Weise.
Gibt es sowas?
Mfg
Alik
ich suche ein Script oder ein Tool mit dem ich eine leere Verzeichnisstruktur auf einer Windowsmaschine anlegen kann.
Ziel ist es einen Namen und ein Pfad einzugeben und dann soll das Script die vorher definierte Struktur automatisch anlegen.
z.B. Name: Project01
Pfad: \\Server01\Projecte\
Dann soll es vom Script angelegt werden:
\\Server01\Projecte\Project01\Fotos
\\Server01\Projecte\Project01\Infos
\\Server01\Projecte\Project01\Doc
\\Server01\Projecte\Project01\Doc_2005
usw. in der Art und Weise.
Gibt es sowas?
Mfg
Alik
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 21200
Url: https://administrator.de/contentid/21200
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
13 Kommentare
Neuester Kommentar
Du kannst ja auch einer Batch-Datei eine Variable übergeben, z.B.
@echo OFF
mkdir \\Server01\Projecte\%1%\Fotos
mkdir \\Server01\Projecte\%1%\Infos
mkdir \\Server01\Projecte\%1%\Doc
mkdir \\Server01\Projecte\%1%\Doc_2005
speichern als "Erzeuge.bat" und Aufruf als "Erzeuge Project01"
sollte funktionieren,
Gruß
Atti
@echo OFF
mkdir \\Server01\Projecte\%1%\Fotos
mkdir \\Server01\Projecte\%1%\Infos
mkdir \\Server01\Projecte\%1%\Doc
mkdir \\Server01\Projecte\%1%\Doc_2005
speichern als "Erzeuge.bat" und Aufruf als "Erzeuge Project01"
sollte funktionieren,
Gruß
Atti
Moin alik,
Atti's Skizze kannst Du so nehmen, aber jeweils ohne das Prozentzeichen hinter der "%1".
also statt ........mkdir \\Server01\Projecte\%1%\Fotos
jeweils ...........mkdir \\Server01\Projecte\%1\Fotos
..usw.
Und ich würde den Parent-Ordner entweder "Projects" oder "Projekte" nennen. "Projecte" wirkt irgendwie zu multikulti...
MfG Biber
Atti's Skizze kannst Du so nehmen, aber jeweils ohne das Prozentzeichen hinter der "%1".
also statt ........mkdir \\Server01\Projecte\%1%\Fotos
jeweils ...........mkdir \\Server01\Projecte\%1\Fotos
..usw.
Und ich würde den Parent-Ordner entweder "Projects" oder "Projekte" nennen. "Projecte" wirkt irgendwie zu multikulti...
MfG Biber
Moin alik,
'--------snipp *.vbs
Set FS = CreateObject ("Scripting.FileSystemobject")
strRootFolder=InputBox("Laufwerk und Pfad des übergeordneten Ordners:")
strAufNr = Inputbox("Projektnummer")
strAuftragname = Inputbox("Projektname")
strAuftrag = strAufNr & "_" & strAuftragname
FS.CreateFolder strRootFolder &"\"& strAuftrag
FS.CreateFolder strRootFolder &"\"& strAuftrag &"\"& strAufNr &"_Contract"
FS.CreateFolder strRootFolder &"\"& strAuftrag &"\"& strAufNr &"_Contract\Contract_Kapo"
FS.CreateFolder strRootFolder &"\"& strAuftrag &"\"& strAufNr
usw...
'-------snapp *.vbs
:: -----------oder als CMD-batch
@echo off & setlocal
Set /P strRootFolder="Laufwerk und Pfad des übergeordneten Ordners:"
Set /p strAufNr="Projektnummer? "
Set "strAuftrag=%strAufNr%_%strAuftragname%"
Pushd %strRootfolder%
md %strRootfolder%\%strAuftrag%
md %strRootfolder%\%strAuftrag%\%strAufNr%_Contract
md %strRootfolder%\%strAuftrag%\%strAufNr%_Contract\Contract_Kapo
md %strRootfolder%\%strAuftrag%\%strAufNr%
::..usw
popd
::------------als CMD-batch
HTH Biber
'--------snipp *.vbs
Set FS = CreateObject ("Scripting.FileSystemobject")
strRootFolder=InputBox("Laufwerk und Pfad des übergeordneten Ordners:")
strAufNr = Inputbox("Projektnummer")
strAuftragname = Inputbox("Projektname")
strAuftrag = strAufNr & "_" & strAuftragname
FS.CreateFolder strRootFolder &"\"& strAuftrag
FS.CreateFolder strRootFolder &"\"& strAuftrag &"\"& strAufNr &"_Contract"
FS.CreateFolder strRootFolder &"\"& strAuftrag &"\"& strAufNr &"_Contract\Contract_Kapo"
FS.CreateFolder strRootFolder &"\"& strAuftrag &"\"& strAufNr
usw...
'-------snapp *.vbs
:: -----------oder als CMD-batch
@echo off & setlocal
Set /P strRootFolder="Laufwerk und Pfad des übergeordneten Ordners:"
Set /p strAufNr="Projektnummer? "
Set "strAuftrag=%strAufNr%_%strAuftragname%"
Pushd %strRootfolder%
md %strRootfolder%\%strAuftrag%
md %strRootfolder%\%strAuftrag%\%strAufNr%_Contract
md %strRootfolder%\%strAuftrag%\%strAufNr%_Contract\Contract_Kapo
md %strRootfolder%\%strAuftrag%\%strAufNr%
::..usw
popd
::------------als CMD-batch
HTH Biber
Moin fullbasic,
na ja, was fehlt Dir denn noch?
Beim VBS-Schnipsel kommt am Ende noch ein "Set FS=nothing" (der Ordnung halber, aber auch verzichtbar...), sonst fehlt bei beiden Varianten noch eine Fehlerbehandlung /Vollzugsmeldung und ein entsprechender exit(n) bzw. ErrorLevel-Wert.
Was brauchst Du denn anders?
Gruß
Biber
na ja, was fehlt Dir denn noch?
Beim VBS-Schnipsel kommt am Ende noch ein "Set FS=nothing" (der Ordnung halber, aber auch verzichtbar...), sonst fehlt bei beiden Varianten noch eine Fehlerbehandlung /Vollzugsmeldung und ein entsprechender exit(n) bzw. ErrorLevel-Wert.
Was brauchst Du denn anders?
Gruß
Biber
Nein, fullbasic,
kein "sorry" nötig, ich wollte nicht schroff erscheinen.
Aber bei dem VBS-Schnipsel kommt wirklich nichts Zwingendes mehr - das ist nach dem letzten erforderlichen FS.CreateFolder einfach abrupt und unerwartet zu Ende.
Denn es gibt da (in diesem Beispiel) keine Struktur mit Subs oder Functions.
Ist ja einfach nur ein stupider Batch-Ablauf par excellance (stumpf ein Befehl nach dem anderen, ohne jegliche Programmlogik).
Von daher ist vermutlich der sittliche Nährwert bzw. der potentielle Lerneffekt bei diesem Beispiel eher gering.
Das heißt, wenn es Einsteiger neugierig macht auf Skripting oder zum Eintippen von "FileSystemObject Methoden" bringt, dann bin ich schon zufrieden.
Gruß
Biber
kein "sorry" nötig, ich wollte nicht schroff erscheinen.
Aber bei dem VBS-Schnipsel kommt wirklich nichts Zwingendes mehr - das ist nach dem letzten erforderlichen FS.CreateFolder einfach abrupt und unerwartet zu Ende.
Denn es gibt da (in diesem Beispiel) keine Struktur mit Subs oder Functions.
Ist ja einfach nur ein stupider Batch-Ablauf par excellance (stumpf ein Befehl nach dem anderen, ohne jegliche Programmlogik).
Von daher ist vermutlich der sittliche Nährwert bzw. der potentielle Lerneffekt bei diesem Beispiel eher gering.
Das heißt, wenn es Einsteiger neugierig macht auf Skripting oder zum Eintippen von "FileSystemObject Methoden" bringt, dann bin ich schon zufrieden.
Gruß
Biber
@fullbasic
hmmm... kann sein, wenn der strRootfolder selbst nicht existiert... das wird ja nicht überprüft.
Bei existierendem RootFolder klappt der Rest der Skizze.
Gruß
Biber
hmmm... kann sein, wenn der strRootfolder selbst nicht existiert... das wird ja nicht überprüft.
Bei existierendem RootFolder klappt der Rest der Skizze.
Gruß
Biber
Also, fullbasic,
ich habe vorhin zum Test die ersten paar Zeilen des VBS-Schnipsels kopiel und laufen lassen.
Bei Eingabe von
- "D:\temp\backup1" als strRootfolder/1. Inputbox (dieses Verzeichnis existierte bei
mir)
- "4711" als Projektnr/2. Inputbox
- "test" als Auftragname /2.Inputbox
...kam bei mir raus:
D:\temp\backup1\4711_test\4711_Contract
Works as designed, wie wir Biber sagen...
ich habe vorhin zum Test die ersten paar Zeilen des VBS-Schnipsels kopiel und laufen lassen.
Bei Eingabe von
- "D:\temp\backup1" als strRootfolder/1. Inputbox (dieses Verzeichnis existierte bei
mir)
- "4711" als Projektnr/2. Inputbox
- "test" als Auftragname /2.Inputbox
...kam bei mir raus:
dir backup1\47* /b /s
D:\temp\backup1\4711_testD:\temp\backup1\4711_test\4711_Contract
Works as designed, wie wir Biber sagen...