VB-Script

  • #1
C

capirossi

Mitglied
Themenersteller
Dabei seit
12.02.2010
Beiträge
10
Reaktionspunkte
0
Hallo zusammen,

ich möchte mit einem VB-Script in meinem Verzeichnis D:\TEST\Uebersicht alle Ordnernamen ausgeben lassen und dann die Möglichkeit
haben einen entsprechenden Ordner auszuwählen.

Wenn der Ordner ausgewählt ist, möchte ich ein Eingabefeld mit einbauen, wo ich einen Parameter übergeben kann.

Mit dem eingegebenen Parameter, soll im Unterverzeichns D:\TEST\Uebersicht\A U S G E W Ä H L T E R O R D N E R ein Unterordner mit dem Namen des eingegebenen
Parmater angelegt werden. Falls schon ein Ordner mit diesem Namen existiert, wäre es toll, wenn ein kurzer Hinweis erscheint.

Ich bin für jede Hilfe dankbar!!!!

Viele Grüße, Marc
 
  • #2
Hallo Marc,

das ist mit reinen VB-Mitteln etwas schwierig, da VbScript nicht direkt Checkboxen oder Buttons unterstützt.
Man müsste also eventuell per Hand einen Ordner auswählen und den Parameter anfügen.
Wie wäre es mit einer Variante in VB6, VB.Net oder C#?

Gruß Christian
 
  • #3
Hallo Christian,

erstmal vielen Dank für Deine Antwort!!!

Hast Du evtl. einen Lösungsansatz für mich als absoluten Anfänger, wie ich es in einem VB-Script mit manueller Pfadeingabe realisieren kann?
D. h. das ich bei Aufruf der VBS-Datei zuerst den Ordnernamen eingebe (bis zur Struktur D:\TEST\Uebersicht\ ist der Pfad immer gleich) und das Script den manuell eingegebenen Parameter an den Pfad anhängt (z. B. D:\TEST\Uebersicht\Muster).
Dann kurz prüft, ob der Ordner Muster im Pfad bereits existiert und wenn ja, sich ein zweites Eingabefeld öffnet, wo ich manuell einen Parametre eintragen kann, der dann unter dem Pfad einen Unterordner mit dem Namen des zweiten Parameter anlegt. Z. B. Wird bei der zweiten Parameterabfrage Bundesland eingegeben, dann soll die Struktur D:\TEST\Uebersicht\Muster\Bundesland angelegt werden.

Ich bin für jede Hilfe dankbar!!!!

Viele Grüße, Marc
 
  • #4
Hallo Marc,

dieses Skript sollte es machen:

' begin of script
'==========================================================================
'
' NAME: CreateFolder2.vbs
'
' AUTHOR: chk
' DATE : 25.02.2010
'
' COMMENT:
' Aufruf: cscript CreateFolder2.vbs /d: DirectoryName
'
'==========================================================================

Option Explicit

On Error Resume Next

Dim folder, subfolder
Dim fso

Const entryPath = E:\temp\test\
Const Version = 1.0

Set fso = CreateObject(Scripting.FileSystemObject)

Call ParseArgs()

If Not fso.FolderExists( entryPath & folder ) Then
fso.CreateFolder( entryPath & folder )
If Err.Number <> 0 Then
MsgBox Der Ordner & entryPath & folder & \ & subfolder & konnte _
& nicht erstellt werden & VbCrLf & Fehler: & Err.number, vbCritical, Fehler
Else
MsgBox Der Ordner & VbCrLf & entryPath & folder & \ & subfolder & VbCrLf & wurde _
& erstellt, vbInformation,Information
End If
Else
'Wscript.Echo Den Ordner & entryPath & folder & gibt es schon
subFolder = InputBox(VbCrLf & VbCrLf & Diesen Ordner gibt es schon. & VbCrLf _
& VbCrLf & Bitte geben Sie einen neuen Unterordner an, Information)
fso.CreateFolder( entryPath & folder & \ & subfolder )
If Err.Number <> 0 Then
MsgBox Der Ordner & entryPath & folder & \ & subfolder & konnte _
& nicht erstellt werden & VbCrLf & Fehler: & Err.number, vbCritical, Fehler
Else
MsgBox Der Ordner & VbCrLf & entryPath & folder & \ & subfolder & VbCrLf & wurde _
& erstellt, vbInformation,Information
End If

End If

WScript.Quit(0)

'Get arguments
Sub ParseArgs()
'Pflichtargument: path, alle anderen optional
If WScript.Arguments.Count = 0 Or WScript.Arguments.Count > 1 Then
WScript.StdErr.WriteLine VbCrLf & Invalid number of arguments
ShowUsage()
WScript.Quit 2
End If

If WScript.Arguments.Named.Exists(?) Or WScript.Arguments.Named.Exists(LCase(help)) _
Or WScript.Arguments.Named.Exists(LCase(h)) Then
ShowUsage()
WScript.Quit 0
End If

If WScript.Arguments.Named.Exists(d) Then
folder = WScript.Arguments.Named(d)
End If
End Sub

' Help
Private Sub ShowUsage()

WScript.StdOut.WriteLine VbCrLf
WScript.StdOut.WriteLine CreateFolder2 Version & Version & VbCrLf
WScript.StdOut.WriteLine Usage: & VbCrLf
WScript.StdOut.WriteLine vbTab &cscript //nologo CreateFolder2.vbs /d:myDir
WScript.StdOut.WriteLine
WScript.StdOut.WriteLine vbTab & /d: & vbTab & vbTab & - the new directory to make
WScript.StdOut.WriteLine vbTab & /? or /help or /h & - shows this help
WScript.StdOut.WriteLine
WScript.StdOut.WriteLine Example: & VbCrLf
WScript.StdOut.WriteLine vbTab & cscript //nologo CreateFolder2.vbs /d:meinVerzeichnis & VbCrLf

End Sub
'end of script

Einfach diesen Quelltext in einen x-beliebigen Editor kopieren,dann als irgendwas.vbs abspeichern und
mit cscript audführen.
Viel Spaß Christian
 
  • #5
Hallo Christian,

erstmal vielen, vielen Dank für Deine große Hilfe!!!!

Jetzt hab ich das ganze eben getestet und bei Const entryPath = entsprechend meinen Pfad eingegeben, der immer gleich ist (Const entryPath = L:\Test\)

Wenn ich das Skript starte, steht in der MsgBox bereits gleich Diesen Ordner gibt es schon. Bitte geben Sie einen neuen Unterordner an.

D. h. das Skript fragt mich zur Zeit nicht nach dem ersten Parameter (=Ordnername), ob dieser im Pfad L:\Test\PARAMETER1 existiert. Sollte der Ordner existieren, dann die Aufforderung zur Eingabe des zweiten Parameter (für den Unterordner). Existiert der Zweite Parameter als Ordner in der Struktur noch nicht (L:\Test\PARAMETER1\PARAMETER2), soll ein Unterordner anelegt werden, der den Namen des 2. Parameter trägt.

Bsp: 1. Parameter ABC -> Prüfung ob es den Ordner L:\Test\ABC gibt -> existiert er nicht, dann Aufforderung zur
Eingabe des 2. Parameter CDE -> Prüfung ob es den Ordner L:\Test\ABC\CDE gibt --> existiert der Ordner noch nicht, dann soll er angelegt werden.

Würde mich freuen, wenn Du nochmal einen Blick auf das Skript werfen könntest und nochmals vielen Dank für Deine Unterstützung an dieser Stelle.

Gruß, Marc
 
  • #6
Hallo,

ich war ein paar Tage im Urlaub. Ich schau nochmal drüber.

Gruß CHK
 
  • #7
Hallo Christian,

wäre super, wenn Du da nochmal kurz schauen könntest.

Schon jetzt vielen Dank für Deine Mühe!

Gruß, Marc
 
Thema:

VB-Script

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.848
Beiträge
708.002
Mitglieder
51.499
Neuestes Mitglied
sugarland
Oben