Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBS Script Ordner Erstellen und Namen durch Inhalt in txt.Datei auf Ordner schreiben

Frage Entwicklung VB for Applications

Mitglied: Masquerade

Masquerade (Level 1) - Jetzt verbinden

31.08.2011, aktualisiert 18.10.2012, 4563 Aufrufe, 12 Kommentare

Hallo Administrator.de Mitglieder,

ich habe ein Problem mit VB Scripten. Ich möchte per Notepad eine ausführbare .vbs schreiben. Anforderungen : Es soll ein Ordner erstellt werden, in einer Textdatei befindet sich der Ordnername der über den Neu erstellten Ordner geschrieben werden soll. Es soll eine Prüfung stattfinden ob der Ordner bereits vorhanden ist, wenn ja soll Ordner nicht erstellt werden, wenn nicht soll erstellt werden. Bisher sieht das Skript wie folgt aus :

01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
zielpfad = "Pfad" 
03.
Set neuordner = fso.CreateFolder(zielpfad) 
04.
Set WshShell = CreateObject("WScript.Shell") 
05.
Set oExplorer = WshShell.Exec("Pfad") 
06.
wscript.echo "Ordner Erfolgreich erstellt" 'Ist eine direkte Ausgabe auf den Bildschirm' 
07.
Set datei = fso.GetFile("Pfad") 
08.
set WShell = WScript.CreateObject("WScript.Shell") 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
pfadname1 = "Pfad" 
11.
pfadname2 = "Pfad" 
12.
if fso.FolderExists(pfadname1) then 
13.
Set ordner = fso.GetFolder(pfadname1) 
14.
else 
15.
Set ordner = fso.CreateFolder(pfadname2) 
16.
end if 
17.
MsgBox "Ordner " + chr(34) + ordner.name + chr(34) + " angelegt!"
Ich habe die Vermutung das der Text für ein geübtes Auge sehr furchtbar aussieht. Bisher habe ich erfolgreich über Sendkeys einen Ordner generiert und Namen vergeben, allerdings ist der Zeitaufwand der gleiche als ob ich händisch einen Ordner Anlege und Namen vergebe.

Ich hoffe Ihr könnt mir weiterhelfen.

[Edit Biber] Zum gefühlten 23ten Mal heute Codeformatierung nachgetragen [/Edit]
Mitglied: 60730
31.08.2011 um 12:18 Uhr
moin,

das ist doch ein klassischer Fall von einem einzeiler, der aus einer For Schlaéife besteht - muß dasn unbedingt in VBS sein?

Außerdem - wenn ein Ordner schon existiert, kommt beim Versuch einen mit gleichem Namen anzulegen - max. ein Fehler Ordner schon vorhanden - mehr nicht - raus.

Gruß
Bitte warten ..
Mitglied: 99045
31.08.2011 um 12:43 Uhr
Hi,

Zitat von Masquerade:
Ich habe die Vermutung das der Text für ein geübtes Auge sehr furchtbar aussieht. Bisher habe ich erfolgreich über

Deine Vermutung täuscht dich nicht, er sieht nicht nur für ein geübtes Auge furchtbar aus, sondern für alle, die sich mit deinem Script beschäftigen würden, wenn du die angebotenen Code-Tags (Formatierungshilfe) verwenden würdest. Das geht übrigens auch über > Ändern/Bearbeiten.

Gruß
Bitte warten ..
Mitglied: Masquerade
31.08.2011 um 13:52 Uhr
Danke für die Antwort,

die Vorgabe ist, dass es mit vbs realisiert werden soll. Daher hatte ich gehofft das es schon jemand erfolgreich erstellt hat. Ich befasse mich aktuell seit 18Stunden mit vbs, allerdings bisher durch Googlen sehr viel Input gefunden, welcher noch nicht verarbeitet wurde.

gruß
Bitte warten ..
Mitglied: bastla
31.08.2011, aktualisiert 18.10.2012
Hallo Masquerade und willkommen im Forum!

Was bedeutet denn
der Ordnername der über den Neu erstellten Ordner geschrieben werden soll

Generell würde für einen vorgegebenen Pfad das Erstellen eines Ordners etwa so aussehen:
01.
zielpfad = "D:\Pfad" 
02.
 
03.
Set fso = CreateObject("Scripting.FileSystemObject") 
04.
If Not fso.FolderExists(zielpfad) And Not fso.FileExists(zielpfad) Then 
05.
    fso.CreateFolder(zielpfad) 
06.
    WScript.Echo "Ordner """ & zielpfad & """ erfolgreich erstellt" 
07.
Else 
08.
    WScript.Echo "Ordner """ & zielpfad & """ konnte nicht erstellt werden" 
09.
End If
Wenn ich Deine Beschreibung so interpretiere, dass der Pfad des anzulegenden Ordners aus (der ersten Zeile) einer Datei zu lesen ist, dann etwa so:
01.
dateipfad = "D:\Pfad.txt" 
02.
 
03.
Set fso = CreateObject("Scripting.FileSystemObject") 
04.
If Not fso.FileExists(dateipfad) Then 
05.
    WScript.Echo "Datei """ & dateipfad & """ nicht gefunden" 
06.
Else 
07.
    Set Datei = fso.OpenTextFile(dateipfad) 
08.
    If Datei.AtEndOfStream Then 
09.
        WScript.Echo "Datei """ & dateipfad & """ ist leer" 
10.
    Else 
11.
        zielpfad = Datei.ReadLine 
12.
        Datei.Close 
13.
 
14.
        If Not fso.FolderExists(zielpfad) And Not fso.FileExists(zielpfad) Then 
15.
            fso.CreateFolder(zielpfad) 
16.
            WScript.Echo "Ordner """ & zielpfad & """ erfolgreich erstellt" 
17.
        Else 
18.
            WScript.Echo "Ordner """ & zielpfad & """ konnte nicht erstellt werden" 
19.
        End If 
20.
    End If 
21.
End If
Grüße
bastla

P.S.: Kaputtnick hatte einen Hinweis für Dich ...
Bitte warten ..
Mitglied: Masquerade
31.08.2011 um 19:58 Uhr
Halle Bastla,

vielen dank für deine schnelle und ausführliche Hilfe. Ich denke das der Hinweis für die Formatierungshilfe auf die Nummerierungen für das Script waren. Allerdings habe ich auch geschrieben das es über das Notepad realisiert wird. Somit habe ich keine Aufzählung in der Formatierung.

Momentan scheine ich das Problem allerdings gelöst zu haben. Kann ich dich auch per Nachricht anschreiben falls zu neuen Problemen kommt ?

Vielen dank für deine Hilfe und deine Script Hinweise.

Gruß, Masquerade
Bitte warten ..
Mitglied: bastla
31.08.2011 um 20:08 Uhr
Hallo Masquerade!
Ich denke das der Hinweis für die Formatierungshilfe auf die Nummerierungen für das Script waren.
Der Hinweis bezieht sich auf die Formatierungsmöglichkeiten für Code hier im Forum - wie das Ergebnis aussieht, siehst Du ja an meinem Script ...
Kann ich dich auch per Nachricht anschreiben falls zu neuen Problemen kommt ?
Das wird nicht nötig sein - solange der Thread nicht geschlossen ist, kannst Du ihn ergänzen (und auch den "Gelöst"-Status rückgängig machen) - ansonsten verkraftet die Forendatenbank sicher auch noch ein, zwei neue Beiträge ...

Grüße
bastla
Bitte warten ..
Mitglied: Masquerade
02.09.2011 um 09:49 Uhr
Hallo bastla !

Hier wieder eine neue Frage, ich habe ja das Script soweit fertig das ich Paramter übergeben kann und diese als Ordnerbeschriftung übernehme. Ich habe also ein Script das einen Ordner erstellt, auf bereits existierenden Ordnernamen prüft und angehängte Parameter als Ordnername übernommen werden. Wie schaffe ich es, den übergebenen Parameter im selben Script über den wsh.shellrun Befehl im Explorer zu öffnen ?

Grüße

Masquerade
Bitte warten ..
Mitglied: 99045
02.09.2011 um 10:56 Uhr
Hi,

http://technet.microsoft.com/de-de/dd940112.aspx

Der Thread ist als "gelöst" gekennzeichnet. Wenn du ihn weiterführen willst, solltest du die Einstellung wieder deaktivieren.
Du scheinst auf Hinweise recht schwerfällig zu reagieren, denn darauf hatte dich bastla schon aufmerksam gemacht.

Gruß
Bitte warten ..
Mitglied: 60730
02.09.2011 um 11:06 Uhr
Moin,

Zitat von Masquerade:
Wie schaffe ich es, den übergebenen Parameter im selben Script über den wsh.shellrun Befehl im Explorer zu öffnen ?

  • grübel - lass mal raten Meine Kristallkugel sagt mir, du mußt in deiner zeile 7 und in Zeile 31 was ändern.

  • Ist denn das posten "seines" Scriptes so schwer, das man sich daran einen Bruch hebt?
  • Sind die "eigenen" Änderungen an bastlas Ansatz Patentierungswürdig? geben und nehmen?
  • Muß man/ kann man nicht mal Explorer in vbs starten in eine Suchmaschine werfen?

Ich mein ja nur.....
Bitte warten ..
Mitglied: 99045
02.09.2011 um 11:21 Uhr
Zitat von 60730:
  • Muß man/ kann man nicht mal Explorer in vbs starten in eine Suchmaschine werfen?

Offensichtlich muss man nicht. Hier wird - wie man sieht - jeder trotz fehlender Eigeninitiative bestens bedient.
Den Rest erspare ich mir ......
Bitte warten ..
Mitglied: Masquerade
02.09.2011 um 11:27 Uhr
Guten Morgen.

natürlich ist das alles gerechtfertigt und auch nachvollziehrbar. Allerdings wenn ich nur kurz einen Tip brauche und der Meinung bin das hier Experten, Profis oder einfach erfahrene Nutzer sind, ist ein ganzes Script für einen einzigen Befehl unrelevant. Habe den Befehl gefunden wshshell.run ("Explorer [Gewünschter Pfad"] & [Angegebenes Argument] , dieser kleine Befehl war doch nun sicher kein ganzes Script wert. Ihr seit ja nicht verpflichtet zu antworten, dass dieser Thread geschlossen wurde, war natürlich mein Fehler, wird geändert. Ich finde es allerdings immer wieder "SUPER" das erfahrene Nutzer auf Google verweisen und nur wenige Nutzer tatsächlich Hilfestellung geben auch bei "nicht anspruchsvollen" Fragen. Also vielen dank an Bastla für den Script-Text.

Gruß
Bitte warten ..
Mitglied: 60730
02.09.2011 um 12:01 Uhr
moinsen again..

  • Was denkst du ist der Sinn eines Forums?

  • Frage / Gegenfrage / Lösung fertig?
  • Anderer Sucht, findet, - aber nur die Hälfte?

Von daher ist der Fred mit dem Titel
VBS Script Ordner Erstellen und Namen durch Inhalt in txt.Datei auf Ordner schreiben

eigentlich fertig - ein Zusatz
Wie schaffe ich es, den übergebenen Parameter im selben Script über den wsh.shellrun Befehl im Explorer zu öffnen ?

Ist dann doch entweder oder . oder nicht?

Ich mein ja nur....

Und das (einer von den jetzt 2en) mit dem "nicht anspruchsvollen" war ich - und zwar nach deiner Zusatzfrage....
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Textdatei im unbekannten Ordner erstellen mit Namen des Ordners als Inhalt
Frage von ed19dyBatch & Shell3 Kommentare

Hallo zusammen, solangsam beiße ich mir die Zähne an folgender Aufgabe aus: Auf dem Laufwerk "C" ("c:\Ordner") werden zufällig ...

VB for Applications
VBS .txt Inhalt vor schreiben löschen
Frage von deathhollyVB for Applications8 Kommentare

Hallo, ich habe folgendes Script. Es funktioniert auch, nur das wenn ich es im Overwrite Modus öffne, schreibt es ...

VB for Applications
VBS Ordner erstellen - wenn nicht vorhanden!
gelöst Frage von freshman2017VB for Applications1 Kommentar

Hallo, ich würde gerne einen Ordner erstellen, wenn dieser nicht vorhanden ist, nachfolgende VBS funktioniert Ich würde jedoch mit ...

Batch & Shell
Batch Variablen Inhalt als Ordner Namen verwenden und Unterordner erstellen
Frage von sigisigiBatch & Shell2 Kommentare

Hallo Zusammen Ich mache mich gerade mit Batch vertraut und stosse immer wieder auf hindernisse. Die meisten kann ich ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 9 StundenWindows 102 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 10 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner3 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement15 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...