Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4493 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...