lionne
Goto Top

VBS- Ordner automatisch erstellen und datei reinkopieren

Hallo Zusammen,

ich bin neu hier und neu in der Welt der Programmierung.

Ich habe folgenden Beitrag auf der Seite gefunden;
Mein Problem ist fast gleich aber bei mir soll der Odner während des kopiervorgangs erstellt werden:

Beispiel:
Ich möchte alle Dateien.txt von C:\Temp nach D:\Ablage kopieren

Falls der kopiervorgang z.B. heute lauf muss folgende Odner erstellt werden und alle txt Dateien von C nach D kopieren: D:\Ablage\Jahr\Monat\Tag
Wobei Jahr immer das aktuelle Jahr ist d.h. D:\Ablage\2011\03\08

Falls der Unterordner D:\Ablage\Jahr\Monat\ schon vorhanden ist, muss nur der unterverzeichnis \Tag erstellt werden.

Der unterverzeichniss Tag muss immer gleich der Tag, an dem das Programm gestartet wird.


Vielen Dank im Voraus für ein Beispiel
Lionne

Content-Key: 162244

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: bastla
bastla 08.03.2011 um 17:18:10 Uhr
Goto Top
Hallo lionne und willkommen im Forum!

Das ginge etwa so:
QuellOrdner = "C:\TEMP"  
QuellTyp = "txt"  
ZielOrdner = "D:\Ablage\" & Year(Date) & "\" & Right("0" & Month(Date), 2) & "\" & Right("0" & Day(Date), 2)  
Set fso = CreateObject("Scripting.FileSystemObject")  

'Zielordner (bei Bedarf) erstellen  
Ziel = Split(ZielOrdner, "\") 'Teilpfade durch Zerlegung anhand der "\" bilden  
ZielPfad = Ziel(0) 'Start mit Laufwerk  
For i = 1 To UBound(Ziel)
    ZielPfad = ZielPfad & "\" & Ziel(i) 'ZielPfad um jeweiligen Teilpfad verlängern  
    If Not fso.folderExists(ZielPfad) Then fso.CreateFolder(ZielPfad) 'und bei Bedarf erstellen  
Next
'Dateien kopieren  
For Each Datei In fso.GetFolder(QuellOrdner).Files 'alle Dateien des QuellOrdners durchgehen  
    If LCase(fso.GetExtensionName(Datei.Name)) = LCase(QuellTyp) Then 'Datei des gesuchten Typs?  
        If Not fso.FileExists(ZielOrdner & "\" & Datei.Name) Then 'gleichnamige Datei bereits vorhanden?  
    	    Datei.Copy ZielOrdner & "\" 'Zielangabe mit abschließendem "\" = Ordner  
        Else
            'Namenskollision - was tun?  
        End If
    End If
Next
Gibt es übrigens einen speziellen Grund für die Verwendung von VBS? In Batch würde (bis auf die Frage der Namenskollision) dafür eine Zeile der Art
for /f "tokens=1-3 delims=." %%a in ("%date%") do xcopy C:\TEMP\*.txt D:\Ablage\%%c\%%b\%%a\
genügen ...

Grüße
bastla
Mitglied: lionne
lionne 08.03.2011 um 17:52:31 Uhr
Goto Top
Hallo bastla,

Tausend Dank für dein Beispiel. Es funktioniert sehr gut.

VBS ist hier bei uns vorgabe. Mein Mentor will es so haben.

Ich werde jetzt versuchen das Skript zu verstehen.
Mitglied: lionne
lionne 08.03.2011 um 18:20:21 Uhr
Goto Top
Hallo bastla,

Bitte noch eine Frage:

Ich bekomme mehreren textdateien mit Dateiname wie z.B. Textdatei_20110308.txt ich soll die Dateien von C:\Temp löschen und nach D:\Ablage\Jahr\Monat\Tag speichern bzw. Kopieren. Wobei das Jahr, der Monat und der Tag aus der Dateiname gelesen wird. Im mein Beipsiel D:\Ablage\2011\03\08

Hast du auch ein Beispiel für mich?

Vielen Dank im Voraus
Lionne
Mitglied: Biber
Biber 08.03.2011 um 18:45:24 Uhr
Goto Top
Moin lionne,

willkommen im Forum.
Hast du auch ein Beispiel für mich?
Sicher lässt sich bastla da nicht lange bitten.
Und es gibt auch noch so 5 bis 8 andere, die mich vermutlich noch beim Kommentarschreiben überholen werden.

Dennoch: Magst du nicht erstmal die Teilstringzerlegung/Zusammenbraterei wie in bastlas Zeile 3 angedeutet nachlesen/nachturnen?
Bzw. für die neue Variante anpassen?

Das wäre der ideale nützliche und ungefährliche Einstieg in die wundersame Welt der VBS-Schroterei.

Wenn wir dir vielleicht einen halben Tag Vorsprung geben und du fragst nur nach, falls du nicht mehr weiterweisst?
Und postest ansonsten dein selbst gefundenes Lehrstück?

Nur ein Vorschlag...

Grüße
Biber
Mitglied: bastla
bastla 08.03.2011 um 19:48:11 Uhr
Goto Top
Wenn wir dir vielleicht einen halben Tag Vorsprung geben und du fragst nur nach, falls du nicht mehr weiterweisst?
... unter diesen Voraussetzungen spendiere ich nur noch ein fragmentarisches
fso.GetBaseName(Datei.Name)
- und sage zu den Rechts-Links-Kombinationen gar nix ... face-wink

Grüße
bastla
Mitglied: 76109
76109 08.03.2011 um 20:45:03 Uhr
Goto Top
Zitat von @bastla:
- und sage zu den Rechts-Links-Kombinationen gar nix ... face-wink
und die Zwischendrinn-Kombination nicht zu vergessen, sage ich auch mal nixface-wink

Gruß Dieter
Mitglied: bastla
bastla 08.03.2011 um 20:50:50 Uhr
Goto Top
Hallo Dieter!

Rechts-Links würde mir schon genügen (das Datum steht ja lt Beispiel am Ende des Namens) ... face-wink

Grüße
bastla
Mitglied: 76109
76109 08.03.2011 um 21:09:51 Uhr
Goto Top
Hallo bastla!

aber lionne will doch Sub-Ordner ala "..\JJJJ\MM\TT" ("..\2011\03\08" aus Textdatei_20110308.txt) oder habe ich den Kommentar von 18:20:21 falsch verstanden? face-wink

Gruß Dieter
Mitglied: bastla
bastla 08.03.2011 um 21:15:35 Uhr
Goto Top
Hallo Dieter!

Da wären dann zB für das Jahr aus dem String "Textdatei_20110308" die ersten 4 Zeichen der letzten 8 Zeichen zu verwenden ...

Grüße
bastla
Mitglied: 76109
76109 08.03.2011 um 21:19:05 Uhr
Goto Top
Hallo bastla!

Zitat von @bastla:
Da wären dann zB für das Jahr aus dem String "Textdatei_20110308" die ersten 4 Zeichen der letzten 8 Zeichen zu verwenden ...
Jepp, und der Monat vielleicht 5 und 6 (zwischendrinn)? face-wink

Gruß Dieter
Mitglied: bastla
bastla 08.03.2011 um 21:23:08 Uhr
Goto Top
Hallo Dieter!

Für den Monat nehmen wir dann eben die ersten 2 der letzten 4 Zeichen ... face-wink

Grüße
bastla
Mitglied: 76109
76109 08.03.2011 um 21:45:45 Uhr
Goto Top
Hallo bastla!

OK, Du hast gewonnenface-smile

Gruß Dieter

[edit] Auf bastlas Anregung (Bibers edukatives Vorhaben ...) den minimalen Code-Ausschnitt wieder entferntface-wink [\edit]
Mitglied: bastla
bastla 08.03.2011 um 21:54:15 Uhr
Goto Top
Hallo Dieter!

Ich würde ja (im wirklichen Leben) auch den "Mittelweg" gehen (und Dein Array-Ansatz gefällt mir übrigens sehr gut face-smile) - aber der Spieltrieb ist eben manchmal ziemlich stark ... face-wink

BTW: Du unterläufst gerade endgültig Bibers edukatives Vorhaben ...

Grüße
bastla
Mitglied: Biber
Biber 08.03.2011 um 22:11:56 Uhr
Goto Top
[OT]
...ich hab euch im Auge.....

die Angesprochenen fühlen sich auch garantiert als die Angesprochenen....

Gebt ihr doch wenigstens heute zum Weltfrauentag einen halben Tag Vorsprung....
Andere mit diesem Tag Geehrte bekommen so viel Zeit schon zum "Ich zieh mir nur schnell was über"...

Grüße
Biber
[/OT]
Mitglied: lionne
lionne 09.03.2011 um 11:31:06 Uhr
Goto Top
Hallo Zusammen,

ich habe versuch mit dem Skript von bastla und die Vorschläge etwas zu bastellt, aber ich bekomme keine Ergebnisse angezeigt

Meine Idee sind:
- aus der Dateiname "dateiname_20110309.txt" die Positionen der Zeichnen "_" und "." zu suchen.
- die Länge rauszufinden und das Zeichnen zwischen "_" und "." zu lesen
- diese Zeichnen will ich dann nehmen und zerlegen und den Odner für das kopieren zu bauen

Können Sie mir bitte noch ein Tipps geben, warum es nicht klappt?
Hier das geänderte Skript

Dim QuellOrdner, QuellTyp, ZielOrdner, position1, position2, datumString, lange 
QuellOrdner = "C:\Temp\TestDateien"   
QuellTyp = "txt"   
ZielOrdner = "C:\Temp\AblageTestDateien\" & Mid(datumString, 1,4) & "\" & Mid(datumString, 5,6) & "\" & Mid(datumString, 7,8)   
Set fso = CreateObject("Scripting.FileSystemObject")   
'Zielordner (bei Bedarf) erstellen   

Ziel = Split(ZielOrdner, "\") 'Teilpfade durch Zerlegung anhand der "\" bilden   
ZielPfad = Ziel(0) 'Start mit Laufwerk   

For i = 1 To UBound(Ziel) 
    ZielPfad = ZielPfad & "\" & Ziel(i) 'ZielPfad um jeweiligen Teilpfad verlängern   
    If Not fso.folderExists(ZielPfad) Then fso.CreateFolder(ZielPfad) 'und bei Bedarf erstellen   
Next 
'Dateien kopieren   
For Each Datei In fso.GetFolder(QuellOrdner).Files 'alle Dateien des QuellOrdners durchgehen   
	
	position1 = InStr(Datei, "_") ' Suche die Position von "_" aus Dateiname  
	position2 = InStr(Datei, ".") ' Suche die Position von "." aus Dateiname  
	lange = len(position1 - position2) '  
	datumString = mid(Datei, position1, lange) 'Mid (string, start,  [length] )  
	
    If LCase(fso.GetExtensionName(Datei.Name)) = LCase(QuellTyp) Then 'Datei des gesuchten Typs?   
        If Not fso.FileExists(ZielOrdner & "\" & Datei.Name) Then 'gleichnamige Datei bereits vorhanden?			  
			
			MsgBox position
    	    Datei.Copy ZielOrdner & "\" 'Zielangabe mit abschließendem "\" = Ordner   
        Else 
         'Namenskollision - was tun?   

        End If 
    End If 
Next

Danke im Voraus
PS: Bitte ich bin neu in der Programmierungswelt.

Lionne
Mitglied: 76109
76109 09.03.2011 um 12:54:46 Uhr
Goto Top
Hallo Lionne!

Das wird so nixface-wink

Da ja die Ordner von der eingelesenen Datei abhängig sind, müssen die Datums- und ZielOrdner-Auswertungen erst in der "For Each-Schleife stattfinden, wobei die Datumsfragmente aus Dateiname in ein Array geschrieben werden, um bastlas For-Schleife für FolderExists/Create verwenden zu können...

Und in Codezeile 27 könnte anstatt "Datei.Copy" auch "Datei.Move" stehen. D.h. wenn die Dateien im Quell-Ordner sowieso gelöscht werden sollen, dann ist ein Verschieben sicher sinnvoller?

Schematisch in etwa so:
Dim Fso, QuellOrdner, QuellTyp, ZielOrdner, ZielPfad, Datei, Datum, Folder, Folders 

ZielOrdner = "C:\Temp\AblageTestDateien"  
QuellOrdner = "C:\Temp\TestDateien"   
QuellTyp = "txt"   

Set Fso = CreateObject("Scripting.FileSystemObject")   
 
For Each Datei In Fso.GetFolder(QuellOrdner).Files 'alle Dateien des QuellOrdners durchgehen  
    If LCase(Fso.GetExtensionName(Datei.Name)) = LCase(QuellTyp) Then 'Test Datei-Typ  
        'und hier steht der restliche Code  
        '1. Datum aus Datei.Name isolieren (Datum = ) und zerlegen -> Folders = Array(JJJJ, MM, TT)  
        '2. ZielPfad = ZielOrdner (für jede Datei erneut den ZielOrdner (Start-Ordner) vorgeben)  
        '3. For Each-Schleife (Folder In Folders) FolderExists/CreateFolder (ZielPfad = ZielPfad & "\" & Folder)  
        '4. Test FileExists(ZielPfad), Datei.Move (Verschieben, wenn die Datei im Quell-Ordner eh gelöscht werden soll)  
    End If
Next

Bin mal gespannt, ob Du daraus schlau wirst? face-wink

Gruß Dieter
Mitglied: lionne
lionne 09.03.2011 um 14:01:55 Uhr
Goto Top
Hallo Dieter,

danke für deine Antwort. Ich werde nochmal versuchen.

Gruß
Lionne
Mitglied: bastla
bastla 09.03.2011 um 16:55:20 Uhr
Goto Top
Hallo lionne!

Falls Du davon ausgehen kannst, dass jede ".txt"-Datei nach dem gleichen Namensschema aufgebaut ist (und daher in den letzten 8 Stellen des Namens das Datum enthält), musst Du eigentlich gar nicht weiter zerlegen - den Dateinamen ohne Typ (= alle Bestandteile des Namens vor dem letzten enthaltenen Punkt) erhältst Du ja mit dem (weit face-wink) oben angeführten
fso.GetBaseName(Datei.Name)
Falls doch zerlegt werden soll / muss, solltest Du Dir "Split()" näher ansehen ...

Grüße
bastla
Mitglied: 76109
76109 09.03.2011 um 17:08:53 Uhr
Goto Top
Hallo bastla!

Mit dem zerlegen ist eigentlich das erzeugen des Ordner-Arrays für das testen/erstellen der Sub-Ordner gemeintface-wink

Gruß Dieter
Mitglied: bastla
bastla 09.03.2011 um 17:11:37 Uhr
Goto Top
Hallo Dieter!

Ich hatte mich auf
position1 = InStr(Datei, "_") ' Suche die Position von "_" aus Dateiname  
position2 = InStr(Datei, ".") ' Suche die Position von "." aus Dateiname  
lange = len(position1 - position2) '  
datumString = mid(Datei, position1, lange) 'Mid (string, start,  [length] )  
bezogen - das Zerpflücken des Datums selbst ist natürlich klarerweise erforderlich ...

Grüße
bastla
Mitglied: 76109
76109 09.03.2011 um 17:17:41 Uhr
Goto Top
Hallo bastla!

Achso, ich dachte auf meine Codezeile 12face-wink

Gruß Dieter
Mitglied: lionne
lionne 10.03.2011 um 00:24:19 Uhr
Goto Top
Hallo zusammen,

ich habe die Dateiname zerlegt. Das Skript funktioniert gut. wie soll ich es mit Array machen? Noch ein Tipps bitte. Im Internet finde keine passende Beipiele.


Dim Fso, QuellOrdner, QuellTyp, ZielOrdner, ZielPfad, Datei, Datum, Folder, Folders 
Dim StrJahr, StrMonat, Str, Tagposition1, position2, datumString, lange1, lange2 , Datum_TEST

ZielOrdner = "C:\Temp\AblageTestDateien"  
QuellOrdner = "C:\Temp\TestDateien"   
QuellTyp = "txt"   

Set Fso = CreateObject("Scripting.FileSystemObject")   

For Each Datei In Fso.GetFolder(QuellOrdner).Files 'alle Dateien des QuellOrdners durchgehen  
    If LCase(Fso.GetExtensionName(Datei.Name)) = LCase(QuellTyp) Then 'Test Datei-Typ  
        'und hier steht der restliche Code  
        '1. Datum aus Datei.Name isolieren (Datum = ) und zerlegen -> Folders = Array(JJJJ, MM, TT)  
		
			position1 = InStr(Datei.Name, "_") ' Suche die Position von "_" aus Dateiname  
			position2 = InStr(Datei.Name, ".") ' Suche die Position von "." aus Dateiname  
			lange1 = position1 + 1
			Datum =  mid(Datei.Name, lange1, 8) 'Gibt 8 Zeichnen zurück ab Startposition lange1  
			StrJahr = mid(Datum, 1,4)
			StrMonat = mid(Datum, 5,2) ' 2 Zeichen ab Position 5  
			StrTag = mid(Datum, 7,2)   ' 2 Zeichen ab Position 7  
			
			
		
        '2. ZielPfad = ZielOrdner (für jede Datei erneut den ZielOrdner (Start-Ordner) vorgeben)  
        '3. For Each-Schleife (Folder In Folders) FolderExists/CreateFolder (ZielPfad = ZielPfad & "\" & Folder)  
        '4. Test FileExists(ZielPfad), Datei.Move (Verschieben, wenn die Datei im Quell-Ordner eh gelöscht werden soll)  
    End If
Next

Danke und Gruß
Lionne
Mitglied: 76109
76109 10.03.2011 um 07:50:47 Uhr
Goto Top
Hallo Lionne!

OK, dann helfe ich mal ein bisschenface-wink

Bei diesem Code wäre zunächst Punkt 1 und 2 erledigt:
Dim Fso, QuellOrdner, QuellTyp, ZielOrdner, ZielPfad, Datei, Datum, Folder, Folders

ZielOrdner = "C:\Temp\AblageTestDateien"  
QuellOrdner = "C:\Temp\TestDateien"  
QuellTyp = "txt"  

Set Fso = CreateObject("Scripting.FileSystemObject")  

For Each Datei In Fso.GetFolder(QuellOrdner).Files 'alle Dateien des QuellOrdners durchgehen  
    If LCase(Fso.GetExtensionName(Datei.Name)) = LCase(QuellTyp) Then 'Test Datei-Typ  
       
       '1. Datum aus Datei.Name isolieren, auf Zahlenwert testen und in Array zerlegen -> Folders = Array(JJJJ, MM, TT)  
        Datum = Right(Fso.GetBaseName(Datei.Name), 8) 'z.B. Textdatei_20110225.txt, dann Datum = 20110225  
         
        If IsNumeric(Datum) Then 'Test ob Datum eine Zahlenwert ist  
            Folders = Array(Left(Datum, 4), Mid(Datum, 5, 2), Right(Datum, 2)) 'Folders = Array(JJJJ, MM, TT)  
       
           '2. ZielPfad = ZielOrdner (für jede Datei erneut den ZielOrdner (Start-Ordner) vorgeben)  
            ZielPfad = ZielOrdner

           '3. For Each-Schleife (Folder In Folders) FolderExists/CreateFolder (ZielPfad = ZielPfad & "\" & Folder)  
           '4. Test FileExists(ZielPfad & ...), Datei.Move (Verschieben, wenn Datei im Quell-Ordner gelöscht werden soll)  
        End If
    End If
Next
Wobei ich Punkt 1 etwas vereinfacht habe. Punkt 3 und 4 solltest Du nun alleine hinbekommen? face-wink

Gruß Dieter
Mitglied: lionne
lionne 10.03.2011 um 12:47:13 Uhr
Goto Top
Hallo Dieter,

vielen Dank für alle Tipps. Vielen Dank auch an alle anderen. Ich habe mehrmal probiert und es hat geklappt.

Ich schreibe in einer variable der Pfadname der Datei. Diese möchte ich gerne in einer Tabelle in der Datenbank speichern. Kannst du mir bitte sagen welche VBS Befehl ich benutzen kann?
Im Script ist die Datenbankverbindung schon vorhanden. Ich muss nur die Tabelle mit dem Pfadnamen aktualisieren.

Dim Fso, QuellOrdner, QuellTyp, ZielOrdner, ZielPfad, Datei, Datum, Folder, Folders, DateiPfad

ZielOrdner = "C:\Temp\AblageTestDateien"  
QuellOrdner = "C:\Temp\TestDateien"  
QuellTyp = "txt"  

Set Fso = CreateObject("Scripting.FileSystemObject")  

For Each Datei In Fso.GetFolder(QuellOrdner).Files 'alle Dateien des QuellOrdners durchgehen  
    If LCase(Fso.GetExtensionName(Datei.Name)) = LCase(QuellTyp) Then 'Test Datei-Typ  
       
       '1. Datum aus Datei.Name isolieren, auf Zahlenwert testen und in Array zerlegen -> Folders = Array(JJJJ, MM, TT)  
        Datum = Right(Fso.GetBaseName(Datei.Name), 8) 'z.B. Textdatei_20110225.txt, dann Datum = 20110225  
         
        If IsNumeric(Datum) Then 'Test ob Datum eine Zahlenwert ist  
            Folders = Array(Left(Datum, 4), Mid(Datum, 5, 2), Right(Datum, 2)) 'Folders = Array(JJJJ, MM, TT)  
	   
           '2. ZielPfad = ZielOrdner (für jede Datei erneut den ZielOrdner (Start-Ordner) vorgeben)  
            ZielPfad = ZielOrdner
	   
           '3. For Each-Schleife (Folder In Folders) FolderExists/CreateFolder (ZielPfad = ZielPfad & "\" & Folder)  
		For Each Folder In  Folders
			ZielPfad = ZielPfad & "\" & Folder 'ZielPfad um jeweiligen Teilpfad verlängern   
			If Not fso.folderExists(ZielPfad) Then fso.CreateFolder(ZielPfad) 'und bei Bedarf erstellen   
		Next
		   
           '4. Test FileExists(ZielPfad & ...), Datei.Move (Verschieben, wenn Datei im Quell-Ordner gelöscht werden soll)  
		If Not fso.FileExists(ZielPfad & "\" & Datei.Name) Then 'gleichnamige Datei bereits vorhanden?   
    	    Datei.Copy ZielPfad & "\" 'Zielangabe mit abschließendem "\" = Ordner   
			
			'AbsolutePathName der Dateien auslesen und in der Datenbank Tabelle speichern  
			DateiPfad = fso.GetAbsolutePathName(ZielPfad) & "\" & Datei.Name  
			
        Else 
		End If
		   
        End If
    End If
Next

Danke
Lionne
Mitglied: 76109
76109 10.03.2011 um 14:18:24 Uhr
Goto Top
Hallo Lionne!

Freut mich, dass Du den Rest selbst hinbekommen hastface-smile

Vermute mal, Du hast das Script mit Notepad++ geschrieben, weil die Tab's etwas verutscht sindface-wink

Bei der Codezeile 33 hätte doch eigentlich
DateiPfad = ZielPfad & "\" & Datei.Name
ausgereicht oder nicht?

Falls Du kein Plan B hast, für den Fall, dass eine Datei schon existiert, dann kann das Else in Codezeile 35 auch entfallen.

Datenbank? Was für eine Datenbank und was für eine Verbindung? ADO-Recordset...?

In Sachen Datenbanken ist eigentlich Biber - der ein Auge auf uns hat - der Super-Experteface-wink

Gruß Dieter
Mitglied: bastla
bastla 10.03.2011 um 14:40:31 Uhr
Goto Top
... in Sachen Datenbanken würde Biber - der ein Auge auf uns hat face-wink - vermutlich (so wie ich) zu einem neuen Thread raten - vom Thema "VBS- Ordner automatisch erstellen und datei reinkopieren" sind wir damit nämlich schon ziemlich weit entfernt ...

Grüße
bastla
Mitglied: lionne
lionne 10.03.2011 um 15:39:00 Uhr
Goto Top
Hallo Dieter, Hallo bastla,

@Dieter
Ja ich schreibe das Script mit Notepad++.

Codezeile 33 habe ich mit deiner Variante geändert. Danke

Ich habe eine Oracle Datenbank.

@bastla
ich werde dieser Beitrag als gelöst markieren und werde dann im Internet suchen, falls ich nichts finde werde ich dann einen neuen Beitrag öffnen.

Eine letzte Frage: könnt ihr mir ein gutes Buch für VBS empfehlen? Ich möchte gerne nach dem Praktikum mich sehr mit dem Thema beschäftigen und so gut werden wie euch. Natürlich brauche ich Zeit und gut zu werden aber ich gebe nicht auf.

Danke
Lionne
Mitglied: Biber
Biber 10.03.2011 um 18:13:42 Uhr
Goto Top
Moin lionne,

zum Thema "gutes Buch für VBS empfehlen":
Mein Tipp: Stöbere erstmal in unseren "Links" in den Bereichen "Batch & Shell" und "Visual Basic, VBA und VB.NET" hier im Forum.

Dort sollten auch einige Empfehlungen zu VBS-Skripting-Seiten und VBS-Tutorials dabei sein.
Bestimmt dabei sind die "Scripting Guys" von Microsoft, auf die wir oft verweisen.

Wenn du damit so zwei, drei Tage zugebracht hast, dann kannst du selbst besser einschätzen, ob ein Buch für absolute beginners oder eine allgemeine Referenz oder aber ein Buch mit tonnenweise Beispielskripten für dich am Sinnvollsten ist.

Was "echte" Bücher zum Thema VBS & Skripting angeht, da fragst du mit bastla, didi1954 und mir garantiert die Falschen.
Also ja: Bücher haben wir alle mehr als eins, aber vermutlich hat keiner von uns jemals ein Buch über VBS gelesen. Da gibt es Spannenderes.
"Learning by doing" würde bastla sicherlich empfehlen und ich kann nur dazu nicken.

Übrigens, es gibt drei Sätze, die ich Frauen nie glaube:

Zitat von @lionne:
(1) ich werde dieser Beitrag als gelöst markieren
...
(2) Eine letzte Frage:

und
(3) "Ich bin gleich fertig, ich muss mir nur schnell was überziehen."

Wobei der letzte Satz nicht von dir ist.
Kannst du bitte, wenn die Frage "VBS-Ordner automatisch erstellen und datei reinkopieren" deiner Meinung nach hinreichend beantwortet ist,
heute oder besser noch JETZT einen WG-mortadellafarbenen "Gelöst"-Haken setzen?

In der Hinsicht bin ich ein wenig penibel.

Danke und wir sehen uns im nächsten Beitrag
Biber

P.S. @bastla und didi1954
Vielen Dank, dass ihr so zurückhaltend und geduldig wart!
Mitglied: 76109
76109 10.03.2011 um 18:40:23 Uhr
Goto Top
Hallo Lionne!

Zitat von @Biber:
Was "echte" Bücher zum Thema VBS & Skripting angeht, da fragst du mit bastla, didi1954 und mir garantiert die Falschen.
Also ja: Bücher haben wir alle mehr als eins, aber vermutlich hat keiner von uns jemals ein Buch über VBS gelesen. Da
gibt es Spannenderes. "Learning by doing" würde bastla sicherlich empfehlen und ich kann nur dazu nicken.
Dem stimme ich voll und ganz zu und hätte es nicht besser formulieren könnenface-smile

Auf dieser Seite findes Du eine nützliche VBS-Hilfedatei (script56.chm) zum downloaden und sonstige Skript-Beispiel.Dateien.

Ansonsten noch viel Spaß beim VBS-Lernen!

Gruß Dieter
Mitglied: bastla
bastla 10.03.2011, aktualisiert am 18.10.2012 um 18:46:08 Uhr
Goto Top
@Biber & Dieter
Amen. face-wink

@lionne
Hier zumindest noch ein paar Links - beinahe auch zu einem Buch (es blieb dann aber bei der Erwähnung des Autors) face-wink ...

Grüße
bastla