alik
Goto Top

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

Content-Key: 21200

Url: https://administrator.de/contentid/21200

Printed on: April 18, 2024 at 22:04 o'clock

Member: Atti58
Atti58 Dec 08, 2005 at 08:26:40 (UTC)
Goto Top
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
Member: Biber
Biber Dec 10, 2005 at 02:47:44 (UTC)
Goto Top
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... face-wink
MfG Biber
Member: Alik
Alik Dec 13, 2005 at 13:36:46 (UTC)
Goto Top
Vielen Dank für Eure Hilfe. Ich habe ein VB Script gefunden bei dem alles super ist und es macht genau was ich will.

Set FS = CreateObject ("Scripting.FileSystemobject")
strAufNr = Inputbox("Projektnummer")
strAuftragname = Inputbox("Projektname")
strAuftrag = strAufNr & "_" & strAuftragname
FS.CreateFolder "h:\Project001\"& strAuftrag
FS.CreateFolder "h:\Project001\"& strAuftrag &"\"& strAufNr &"_Contract"
FS.CreateFolder "h:\Project001\"& strAuftrag &"\"& strAufNr &"_Contract\Contract_Kapo"
FS.CreateFolder "h:\Project001\"& strAuftrag &"\"& strAufNr
usw...

Meine Frage an VB experten. Kann ich dieses Script noch dazu bringen den Pfad ebenfalls als Variable abzufragen? Das wäre wirklich super.

Herzlichen Dank
Alik
Member: Biber
Biber Dec 13, 2005 at 14:06:43 (UTC)
Goto Top
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
Member: fullbasic
fullbasic Aug 09, 2006 at 21:00:23 (UTC)
Goto Top
Hallo HTH Biber,

ist es möglich, das ganze Script zu posten?

Danke und einen schönen Abend
Member: Biber
Biber Aug 09, 2006 at 21:13:34 (UTC)
Goto Top
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
Member: fullbasic
fullbasic Aug 09, 2006 at 21:26:28 (UTC)
Goto Top
Moin Biber,

sorry der Nachfrage. Ich bin noch nicht so bewandert in VB und daher die Frage nach dem ganzen Script. face-wink

Gruss
Gerrit
Member: Biber
Biber Aug 09, 2006 at 21:40:19 (UTC)
Goto Top
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
Member: fullbasic
fullbasic Aug 09, 2006 at 21:58:40 (UTC)
Goto Top
Ok, Biber,

dann ist es wohl zu spät oder es klappt bei mir nicht. Bekomme in Zeile 6 Zeichen 1 die Meldung das der Pfad nicht gefunden wurde.
Member: Biber
Biber Aug 10, 2006 at 09:19:24 (UTC)
Goto Top
@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
Member: fullbasic
fullbasic Aug 10, 2006 at 11:31:46 (UTC)
Goto Top
Hallo Biber,

was ist, wenn der Rootfolder existiert? face-wink

gruss
fullbasic
Member: Biber
Biber Aug 10, 2006 at 11:51:16 (UTC)
Goto Top
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:
dir backup1\47* /b /s
D:\temp\backup1\4711_test
D:\temp\backup1\4711_test\4711_Contract

Works as designed, wie wir Biber sagen...
Member: fullbasic
fullbasic Oct 24, 2006 at 17:17:45 (UTC)
Goto Top
Hallo Biber,

ist es mit dem Script möglich, das man in die Verzeichnisse auch Word und/oder Excel Dateien anlegen kann, die aus einer Vorlage kommen?

gruss
fullbasic