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 scripting um Daten zu kopieren

Frage Entwicklung VB for Applications

Mitglied: RainerZufall

RainerZufall (Level 1) - Jetzt verbinden

16.12.2005, aktualisiert 18.12.2005, 24258 Aufrufe, 11 Kommentare

hiho,

da ich ein "Scriptn00b" bin habe ich mal eine Frage an die Community.
Ich benötige ein .vbs Skript welches folgendes für mich erledigt.

Es soll in einen bestimmten Pfad schauen ob ein Ordner vorhanden ist:
"c:\Programme\Test" wenn der Ordner nicht dort liegt, soll er Ihn von einer Freigabe im Netz kopieren "\\Server\Freigabe\Test"
anschliessend einfach noch einmal überprüfen und wenn der Ordner (+Inhalt) dort nun liegt das Skript einfach beenden.

Für einen Scripter sicher kein Thema, aber ich wurschtel da schon seit Tagen dran rum.

Ein grosses Danke vorweg!

Gruss
RZ
Mitglied: 21258
16.12.2005 um 20:25 Uhr
muss es vbs sein?
Bitte warten ..
Mitglied: RainerZufall
16.12.2005 um 21:07 Uhr
hmm... muss nicht unbedingt, dachte nur es wäre schöner ;)
Bitte warten ..
Mitglied: RainerZufall
17.12.2005 um 00:25 Uhr
ok habs selber hinbekommen, für alle die auch das Problem haben.

_________________

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists("C:\Folder") Then
Set objFolder = objFSO.GetFolder("C:\Folder")
Else
Wscript.Echo "Ordner nicht da, er wird kopiert."

Const OverWriteFiles = TRUE

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "\\192.168.255.1\Folder" , "C:\Folder" , OverWriteFiles

End If
_____________________


so einfach ist es, wenn man nur weiss wie

in diesem Sinne,
schönen Tag noch
Bitte warten ..
Mitglied: gemini
17.12.2005 um 01:18 Uhr
Hallo Rainer,

Glückwunsch, das sieht ja schon gut aus
Und selbstgemachtes erfüllt einen doch auch mit Stolz.

Eine kleine, wie ich hoffe konstruktive, Manöverkritik:
Den zweiten Set objFSO-String kannst du dir sparen, das FileSystemObject wurde 9 Zeilen vorher bereits erstellt. Doppelt genäht hält hier nicht besser

Nachdem FolderExists in Zeile 3 bereits FALSE zurückgegeben hat ist es eigentlich nicht nötig den Ordner mit OverWriteFiles zu kopieren

Ein paar Tipps und Empfehlungen:
Option Explicit in der ersten Zeile erzwingt Variablendeklaration. Dadurch wird das Script zwar umfangreicher, es schützt aber vor Fehlern durch falsch geschriebene Variablen, bspw. obiFSO statt objFSO. Nach solchen Fehlern kann man durchaus geraume Zeit suchen.

Werte, die sich ändern können weist man am besten Variablen zu. Bsp. wenn sich C:\Folder in deinem Script mal nach c:\Ordner ändert, musst du das an 3 Stellen in deinem Script nachführen. In umfangreicheren Scripten artet das leicht zu Arbeit aus.

Wertezuweisung an Variablen und Konstanten am Anfang des Scriptes schaffen Übersicht.

In etwa so:
~~~~~~~~~~~~~~~~~~~~~~
Option Explicit
Dim objFSO, objFolder, strSrcFld, strDstFld

strSrcFld = "\\192.168.255.1\Folder"
strDstFld = "C:\Folder"
Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strDstFld) Then
   Set objFolder = objFSO.GetFolder(strDstFld)
Else
   WScript.Echo "Ordner nicht da, er wird kopiert."
   objFSO.CopyFolder strSrcFld, strDstFld
End If
~~~~~~~~~~~~~~~~~~~~~~

Falls du dich intensiver mit Scripting beschäftigen darfst | musst | willst, kannst du im <a href="http://www.microsoft.com/technet/scriptcenter/default.mspx" target="_new">Script Center</a> jede Menge Infos bekommen.
Mind. ebenso interessant ist die Seite von Guy Thomas http://www.computerperformance.co.uk/

Gruß
gemini
Bitte warten ..
Mitglied: Biber
17.12.2005 um 01:41 Uhr
@gemini
... und das mit dem "Set objFSO = Nothing" am Ende erzählst Du ihm nicht? Ich finde, das sollte man/frau sich so früh wie möglich angewöhnen...

@RainerZufall
Das eben scherzhaft geschriebene gehört IMHO wirklich zum A & O auch der objekt-orientierten Programmierung - wenn irgendwo Objekte "erzeugt" werden wie oben im Beispiel mit CreateObject(...), dann müssen/sollten die auch vom dafür verantwortlichen wieder "zerstört" werden.
Denn die Annahme, dass in einer Multiprocessing/Multi-Thread-Welt nicht mehr benötigte Objekte irgendwann von einer höheren Instanz entfernt werden.. vergiss es.
Ich erinnere an gewisse Betriebssysteme, die sich den Hauptspeicher zumüllen mit nicht benötigten DLLs, beendeten Services und Prozessen, an fragmentierte Speicherblöcke usw. Von daher ein sinnvoller kleiner Beitrag zum Umweltschutz und zur Ressourcen-Einsparnis:
wenigstens alle Objekte (meist erkennbar daran, dass Du sie mit "Set objxxxx=..." einführst) nach Benutzung wieder mit "set objxxxx....= Nothing" entsorgen.

Grüße und auch viel Spaß weiterhin beim Skripten
Biber
Bitte warten ..
Mitglied: gemini
17.12.2005 um 09:03 Uhr
@Biber
Hast datürlich Recht, ich verspreche Besserung!!!
Über die Weihnachtsfeiertage hab ich ja Zeit, da werd ich dann alle Skripten Korrektur lesen
Bitte warten ..
Mitglied: RainerZufall
18.12.2005 um 02:35 Uhr
..*neid*..
ok ich sehe es gibt noch viel zu tun ... warten wir es ab zählt hier wohl nicht, wie ?
Aber danke für die Tipps, da Scripting für mich absolutes Neuland ist bin ich für Anregungen oder gar Tipps Dankbar ... es gibt ja auch zahlreiche Nachschlagewerke was Scripting angeht ... vielleicht habt ihr da ja auch noch was auf Lager *g*
Bitte warten ..
Mitglied: gemini
18.12.2005 um 12:38 Uhr
Sehr gute Infoquellen sind imho:
MS ScriptCenter http://www.microsoft.com/technet/scriptcenter/default.mspx
Guy Thomas' Seite http://www.computerperformance.co.uk/
Rob van der Woud's Scripting Pages http://www.robvanderwoude.com/index.html

Auf http://www.admini.de/index.htm findest du auch Infos und Beispielscripte, ist aber eher batchlastig (was keinesfalls negativ gemeint ist!).

Und auch noch ein Forum http://www.systemscript.com/forumde/

Es gibt sicher noch jede Menge anderer, evtl. auch besserer, Quellen.
Solche tun sich meist bei der Suche nach einer spezifischen Problemlösung auf.

An Literatur-Hardware find ich Windows Scripting von Holger Schwichtenberg ganz gut
http://www.amazon.de/exec/obidos/ASIN/3827321964/qid=1134905582/sr=8-4/ ...
Ob das allerdings geeignet ist, Spaß daran zu finden, weiß ich nicht.

Gruß
gemini
Bitte warten ..
Mitglied: Biber
18.12.2005 um 14:08 Uhr
Moin RainerZufall,

ergänzend zu dem, was gemini oben als erste Links gepostet hat:
Als ich das erste Mal den M$-Scriptcenter-Links gefolgt bin, fand ich es alles andere als Appetit machend - quietschbunte, marktschreierische Seiten geschrieben von Codern, die ihren Fachslang für normale Umgangssprache halten. Das war so mein erster Eindruck.

Wenn Du den ersten Ekel niederkämpfst und ein bisschen gutwillig nach links und rechts klickst, stolperst Du über richtig nützliche Utilities, bei denen mein absoluter Newbie-Favorit die so genannten "TechNet Script Center Sample Scripts" sind (unter diesem Begriff zu finden).

Dahinter verbirgt sich eine zum Download angebotene 1,5 MB kleine "script_center.chm", die ziemlich alle Beispiele von den M$-Skriptcenter-Seiten enthält...sauber in Kategorien unterteilt und mit einer Angabe, unter welchen M$-Betriebssystemen diese laufen könnten.
Sehr brauchbar (bis auf die Tatsache, dass M$ weder im Beispielcode noch im ausgelieferten Produktiv-Code jemals Tippfehler korrigiert).
Der Link zum Download <a href=http://www.microsoft.com/downloads/details.aspx?FamilyID=b4cb2678-dafb- ... target="blank">TechNet Script Center Sample Scripts (*.chm-Datei)</a>.

Bedauernswert bei diesem Skripting-Thema ist leider die "politische" Ausrichtung von M$... weitgehend wird suggeriert, dass Skripting VB-nah sein muss.. näher an VB oder .NET - der ursprünglich gleichwertige Ansatz mit JScript (*.js) wird extrem vernachlässigt. Das schlägt sich auch in Foren wie unserem nieder. Die meisten Skript-Beispiele hier sind als *.vbs und nur sehr wenige als *.js realisiert.

Grüße Biber
Bitte warten ..
Mitglied: RainerZufall
18.12.2005 um 14:56 Uhr
Danke für die hilfreichen Tipps, da werde ich doch mal wieder wirklich was zu lesen haben *g*
Habt ihr auch Erfahrungen mit Scripting Tools gesammael ?

Beispiel: PrimalScript

Die einem bei "typischen" Fehler aushelfen und das Verständniss fördern?
Oder macht ihr das noch like "oldSchool" Texteditor auf und los gehts.
Das würde mich noch interessieren,

Danke und schönes Wochenende noch.

RZ
Bitte warten ..
Mitglied: Biber
18.12.2005 um 15:18 Uhr
Ist sicherlich eine persönliche Geschmacksfrage - bei Batch und Skripting arbeite ich meistens wirklich mit Texteditoren und ohne IDE und Generatoren. Aber zumindest nicht mit den ganz albernen Praktikanten-Editoren wie NotePad oder ähnlichem Unsinn, sondern schon mit irgendetwas, was zumindest Syntax-Highlightning und Blöcke-Einrücken unterstützt ( z.B TextPad, UltraEdit, PFE).

Bei den Scripting-Tools (oder anderen IDE's)... es kommt immer darauf an, wie das Verhältnis von "nützlichen Ratschlägen" und "nervigen Hinweisen" ausgestaltet ist - mein absolutes Negativ-Beispiel für nervige Hinweise wären diese VBA-Editoren unter Access oder Excel - die halten mich in der Regel nur auf beim Tippen.

Kurzgefasst - es gibt vermutlich wie überall in unserer binären Welt nicht nur Nullen und Einsen, kein Entweder/Oder, sondern immer nur einen individuellen Königsweg irgendwo dazwischen. Jedes Tool, mit dem das Coden Spaß macht, ist ein Gutes. Aber nicht jedes, mit dem es mir Spaß macht, ist gut für alle et vice versa.

So, jetzt haben wir diesen Thread aber endgültig ganz aus der Bahn geworfen..

Frank / der Biber aus Bremen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
gelöst Onedrive-Daten kopieren ohne neu zu synchronisieren? (5)

Frage von 1410640014 zum Thema Windows 10 ...

Datenbanken
gelöst DB2 Daten in Windows DB2 kopieren (1)

Frage von Emheonivek zum Thema Datenbanken ...

Microsoft Office
Excel 2010 - Microsoft Excel kann die Daten nicht kopieren (4)

Frage von EDV-Oellerking zum Thema Microsoft Office ...

Microsoft Office
Kopieren von auszuwählenden Daten in weitere Tabelle (1)

Frage von dus100 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...