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

Mitglied: Frodo2

Frodo2 (Level 1) - Jetzt verbinden

21.10.2013 um 17:31 Uhr, 3187 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 (https://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 ...

Batch & Shell

Batch: Einmaliges Kopieren mit Robocopy und Log abgleich

gelöst Frage von RotbartBatch & Shell35 Kommentare

Ich bin gerade dabei eine Batchdatei zu erweitern, was aber scheinbar nicht so einfach ist wie gedacht. Es geht ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 1 TagAusbildung9 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten3 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 3 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware18 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

Windows Server
Zertifikat RemoteDesktop hinterlegen
Frage von Green14Windows Server10 Kommentare

Hallo zusammen. ich habe mehrere Server (WinSrv 2016). Die Server sind in keiner Domäne und keine Terminalserver. Ich verbinde ...

Google Android
Samsung S7 Kontakte gelöscht. Kann man die wieder herstellen
Frage von merkelGoogle Android10 Kommentare

Hallo, auf einem S7 wurden Kontakte gelöscht. kann man die wieder herstellen ? gruss Jonas