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

Robocopy in VB Script einbinden

Frage Entwicklung VB for Applications

Mitglied: fraggle666

fraggle666 (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 11:23 Uhr, 14586 Aufrufe, 10 Kommentare

Guten Morgen zusammen,

ich hoffe ihr könnt mir helfen...

Ich versuche mittels einem VB Script eine Programm zu starten. Soweit so gut, das klappt alles.
Allerdings muss nun noch in diesem Script ein Robocopy Befehl eingebunden werden, der noch vor dem Start des Programms einen Ordner, falls noch nicht vorhanden, in das User Profil kopiert.

Mit Hilfe von Google, habe ich folgendes zusammengeschrieben:

IF NOT (fs.folderExists("%USERPROFILE%\Application Data\Quest Software")) THEN
Set objShell = CreateObject("Wscript.Shell")
objSource = InputBox("K:\Program Files\Quest Software\Toad for Oracle\USERPROFILE\Application Data\Quest Software")
objDestination = InputBox("%USERPROFILE%\Application Data\Quest Software")
objCommand = "RoboCopy.Exe " & Chr(34) & objSource & Chr(34) & " " & Chr(34) & objDestination & Chr(34) & " /MIR"
objShell.Run(objCommand)
END if

(Das ist nur der Teil mit Robocopy, der Rest funktioniert alles)




Wenn ich das Script ausführe, kommt folgende Meldung:

c2f33d328d7e59ddf12e50b92e62d13d-unbenannt - Klicke auf das Bild, um es zu vergrößern


Nach einbinden der Zeile von Tacker kommt folgende Meldung:
b6d3f1f9645914ff7dc173b7c4c00f99-fenster - Klicke auf das Bild, um es zu vergrößern

Habt ihr eine Idee?
Mitglied: tacker
17.04.2008 um 09:50 Uhr
Salü

evtl ma folgende Zeile voranhängen..

01.
set fs = createobject("scripting.filesystemobject")
Gruss tacker
Bitte warten ..
Mitglied: fraggle666
17.04.2008 um 09:52 Uhr
Hab das ganze wohl zu kompliziert gemacht.
Anscheinend soll es auch so funktionieren:

IF NOT (fs.folderExists("%USERPROFILE%\Application Data\Quest Software")) THEN
ROBO ="K:\Program Files\batch\robocopy.exe"
erg = WshShell.Exec("ROBO "K:\Program Files\Quest Software\Toad for Oracle\USERPROFILE\Application Data\Quest Software" "%USERPROFILE%\Application Data\Quest Software" /MIR")
END if

Aber da bekomme ich nun den Fehler, das ein ")" expecxted wird

Führe ich nur diesen Befehl aus, startet er das Robocopy, allerdings ohne meine Robocopy Befehle auszuführen...
erg = WshShell.Exec(ROBO)

Zu Hülf!
Bitte warten ..
Mitglied: fraggle666
17.04.2008 um 09:59 Uhr
Hm,

hab die Zeile von dir nun angehängt und bekomme zwei Fenster wenn ich das Script ausführe.
(Bild habe ich ganz oben wieder eingefügt)

Wenn ich die Fenster mit ok bestätige, startet er mein Programm, allerdings ohne vorher Robocopy auszuführen

Ich muss noch dazu sagen, dass ich mich absolut überhaupt nicht mit VB auskenne. Ich bin froh wenn ich eine funktionierende Batch hinbekomme
Bitte warten ..
Mitglied: bastla
17.04.2008 um 10:01 Uhr
Hallo fraggle666!

Ungetestet etwa so:
01.
IF NOT (fs.folderExists("%USERPROFILE%\Application Data\Quest Software")) THEN 
02.
	ROBO ="K:\Program Files\batch\robocopy.exe" 
03.
	erg = WshShell.Exec("ROBO ""K:\Program Files\Quest Software\Toad for Oracle\USERPROFILE\Application Data\Quest Software"" ""%USERPROFILE%\Application Data\Quest Software"" /MIR") 
04.
END if
Grüße
bastla

P.S.: Tust Du uns allen bitte den Gefallen, Scripts beim Posten unter <code>-Tags zu stellen?
Bitte warten ..
Mitglied: tacker
17.04.2008 um 10:02 Uhr
nochma von vorn

01.
set fs = createobject("scripting.filesystemobject") 
02.
set WshShell = createobject("wscript.shell") 
03.
IF NOT (fs.folderExists("%USERPROFILE%\Application Data\Quest Software")) THEN 
04.
ROBO ="K:\Program Files\batch\robocopy.exe " 
05.
source = "K:\Program Files\Quest Software\Toad for Oracle\USERPROFILE\Application Data\Quest Software " 
06.
target = "%USERPROFILE%\Application Data\Quest Software " 
07.
parameter = "/MIR" 
08.
erg = WshShell.Run(ROBO & source &  target & parameter)  
09.
END if
Bitte warten ..
Mitglied: fraggle666
17.04.2008 um 10:29 Uhr
Also beide Scripte bringen nun keine Fehlermeldung mehr,

allerdings ignorieren auch beide das Robocopy. Es startet kein Kopiervorgang

Ich habe nochmal alle Pfade geprüft:

Das Robocopy liegt unter K:\Program Files\batch\robocopy.exe

Das Verzeichnis "Quest Software" das ich kopieren bzw. spiegeln möchte, liegt unter "K:\Program Files\Quest Software\Toad for Oracle\USERPROFILE\Application Data\Quest Software"

Das Zielverzeichnis "%USERPROFILE%\Application Data\" existiert.
Bitte warten ..
Mitglied: bastla
17.04.2008 um 10:59 Uhr
@fraggle666

Sorry, hatte zu kurz drübergeschaut - da ja im Pfad zu "Robocopy" ebenfalls Leerzeichen enthalten sind, müsste das eher so aussehen:
01.
ROBO = """K:\Program Files\batch\robocopy.exe"" " 
02.
erg = WshShell.Exec(ROBO & """K:\Program Files\Quest Software\Toad for Oracle\USERPROFILE\Application Data\Quest Software"" ""%USERPROFILE%\Application Data\Quest Software"" /MIR")
Ein Detail am Rande (und nicht verantwortlich für das "Robocopy"-Startproblem):
Das Zielverzeichnis "%USERPROFILE%\Application Data\" existiert.
... sollte aber besser so angesprochen werden:
01.
IF NOT (fs.folderExists(WshShell.ExpandEnvironmentStrings("%APPDATA%\Quest Software"))) THEN
In der per "Exec" geöffneten Shell stehen %USERPROFILE% oder %APPDATA% zur Verfügung, in VBS müssen sie aber aufgelöst werden.

Grüße
bastla
Bitte warten ..
Mitglied: fraggle666
17.04.2008 um 11:10 Uhr
Hey!

Es hat funktioniert! Ich bin begeistert
Auf
<IF NOT (fs.folderExists(WshShell.ExpandEnvironmentStrings("%APPDATA%\Quest Software"))) THEN>
wäre ich nie gekommen...

Vielen Dank euch beiden!
Bitte warten ..
Mitglied: bastla
17.04.2008 um 11:18 Uhr
@fraggle666

Freut mich, dass wir das mit vereinten Kräften geschafft haben ...

Vielleicht nochmals der Hinweis auf die Formatierung beim Posten: Wenn Du Dein Script (Deine Scriptzeile) zwischen < code> und < /code> (jeweils ohne Leerzeichen) stellst, wird es als Codeblock dargestellt.

Grüße
bastla
Bitte warten ..
Mitglied: fraggle666
17.04.2008 um 11:23 Uhr
01.
 Testcode 
Alles klar, das werde ich das nächste mal beherzigen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

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

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...