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
GELÖST

VBS: Kopieren von Files mit Robocopy

Frage Entwicklung Visual Studio

Mitglied: Frodo2

Frodo2 (Level 1) - Jetzt verbinden

21.10.2013 um 17:31 Uhr, 2916 Aufrufe, 9 Kommentare, 3 Danke

Hallo.
Ich suche nach einer Möglichkeit, in einem VBScript mittels Robocopy einzelne Files zu kopieren. Bisher hab ich immer nur ganze Ordner kopiert.

Der allgemeine Syntax für das Kopieren von Files mit Robocopy ist ja meines Wissens nach: Robocopy "d:\Ort an dem File liegt" "D:\Ort wo das File hinsoll" "FileName.txt".

Hat jemand eine Idee, wie ich einzelne Files mittels Robocopy in VBS kopiere?

Grüße
Mitglied: colinardo
21.10.2013, aktualisiert um 19:34 Uhr
Hallo Frodo2,
kein Problem:
01.
Set oShell = WScript.CreateObject ("WScript.Shell") 
02.
oShell.Run "cmd /c Robocopy.exe ""d:\Ort an dem File liegt"" ""D:\Ort wo das File hinsoll"" ""FileName.txt"""
Grüße Uwe
Bitte warten ..
Mitglied: Frodo2
22.10.2013 um 09:34 Uhr
Hallo Uwe,

Vielen Dank, klappt so!
Hast du noch eine ebenso lockere Lösung für das Umbenennen von Files mittels VBS?

Das Kopieren und Umbenennen soll in meinem Script nämlich beides passieren.

Grüße
Bitte warten ..
Mitglied: colinardo
22.10.2013 um 09:41 Uhr
Natürlich, du kannst aber auch ohne die Hilfe von Robocopy mit VBS kopieren, siehe dazu die Kommentare im Code:
(Wichtig bei den Zielordnern ist der Backslash am Ende)
01.
Set fso = CreateObject("Scripting.Filesystemobject") 
02.
 
03.
'Datei verschieben 
04.
fso.MoveFile "C:\Datei.txt", "D:\Zielordner\" 
05.
 
06.
'Datei kopieren (wenn existierende Datei überschrieben werden sollen letzten Parameter auf 'True' setzen 
07.
fso.CopyFile "C:\Datei.txt", "D:\Zielordner\",False
Grüße Uwe
Bitte warten ..
Mitglied: Frodo2
22.10.2013, aktualisiert um 10:22 Uhr
Hi Uwe,

bin jetzt beim Kopieren + Umbenennen soweit:

Set objShell = Wscript.CreateObject ("WScript.Shell")
objShell.Run "cmd /c Robocopy.exe " & chr(34) & pfadohnefile & chr(34) & " " & chr(34) & zieldvz & chr(34) & " " & chr(34) & fileauspfad & chr(34)
'Beispiel: robocopy "D:\Test" "D:\Ort wo das File hinsoll" "neu.txt"

set FSO = CreateObject("Scripting.FileSystemObject")
set objFile = FSO.GetFile(zieldvz & "\" & fileauspfad)
'Beispiel: FSO.GetFile(D:\Ort wo das File hinsoll\neu.txt)

'Nun sollen bestimmte Endungen an den Filenamen, allerdings vor dem Punkt. So soll aus neu.txt beispielsweise neu_01.txt werden. Dafür teile ich den Namen in "neu" und ".txt", um beim Umbenennen meine gewünschte Nummer zu platzieren: filenameteil1 & "_" & meinenummer & filenameteil2 -> neu_01.txt

Pos1 = InStrRev(fileauspfad, Chr(46))
filenameteil1 = Mid(fileauspfad, 1, Pos1-1)
filenameteil2 = mid(fileauspfad, Pos1)

objFile.Name = filenameteil1 & "_" & meinenummer & filenameteil2

Das funktioniert wunderbar, wenn das File neu_01.txt noch nicht im Zielordner vorhanden ist, allerdings kommt eine Fehlermeldung, wenn doch. Hast du eine Idee, wie man das Umbenennen erzwingen kann, sprich, bestehende Files überschreiben?

Grüße
Bitte warten ..
Mitglied: colinardo
22.10.2013 um 10:28 Uhr
Zitat von Frodo2:
Das funktioniert wunderbar, wenn das File neu_01.txt noch nicht im Zielordner vorhanden ist, allerdings kommt eine Fehlermeldung,
wenn doch. Hast du eine Idee, wie man das Umbenennen erzwingen kann, sprich, bestehende Files überschreiben?
steht oben in den Kommentaren im Code (Zeile 6), einfach den dritten Parameter auf True setzen...
Bitte warten ..
Mitglied: Frodo2
22.10.2013 um 10:37 Uhr
Ja das habe ich probiert, bekam allerdings die Fehlermeldung Anweisungsende erwartet.
Hab es jetzt so gelöst:

if FSO.FileExists(zieldvz & "\" & filenameteil1 & "_" & meinenummer & filenameteil2) then
FSO.DeleteFile zieldvz & "\" & filenameteil1 & "_" & meinenummer & filenameteil2
end if

Danke für deine Hilfe hat mir echt geholfen

Schönen Tag noch
Bitte warten ..
Mitglied: colinardo
22.10.2013 um 10:47 Uhr
Ich würde dir mal die VBS und WSH Script Referenz ans Herz legen (http://www.administrator.de/forum/vbs-referenz-in-deutsch-219936.html#c ...)
Dann würdest du folgende Funktionen zum einfacheren Zerlegen von Dateinamen und Erweiterungen finden, dann musst du nicht mit Mid() und Co. hantieren:
fso.GetBaseName(Path)
fso.GetExtensionName(Path)
fso.GetAbsolutePathName(Path) 
Viel Erfolg
Grüße Uwe
Bitte warten ..
Mitglied: Frodo2
22.10.2013 um 11:29 Uhr
Hey coool

Das ist ja praktisch und sieht auch eleganter aus als mein Firlefanz. Danke für den Tip!!

Grüße
Bitte warten ..
Mitglied: colinardo
22.10.2013 um 11:58 Uhr
Wenn's das dann war, den Beitrag bitte noch als gelöst markieren. Merci.
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Backup
Robocopy zum Festplatte kopieren benutzen
gelöst Frage von AzubineBackup6 Kommentare

Hallo, ich muss aufgrund einer Serverneu-Installation eine größere Datenmenge von A nach B schaufeln. Nun habe ich von robocopy ...

Batch & Shell
Robocopy soll nur spezielle Unterordner kopieren
Frage von PoldiMUCBatch & Shell2 Kommentare

Guten Abend, ich möchte mit Robocopy nur spezielle Ordner einer Ordnerstruktur incl. der übergeordneten Ordnerstruktur kopieren (siehe Bild 1 ...

Batch & Shell
Files in Ordner kopieren
Frage von 123182Batch & Shell14 Kommentare

Hallo, Ich habe z.b. 100 Ordner (die einem einem Ordner mit variabler Position liegen - ich nenne ihn mal ...

VB for Applications
VBA Files kopieren
Frage von Questionmark93VB for Applications3 Kommentare

Hay Leute, ich habe wiedermal eine Frage bzgl. VBA. Und zwar, ich möchte: Eine Datei auf den Desktop jeder ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 13 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 14 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 21 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...