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, 15025 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 ..
Ähnliche Inhalte
VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

Windows Server
Schattenkopien mit Robocopy (11)

Frage von AveiroCR7 zum Thema Windows Server ...

Windows Server
Robocopy Ordner-Icons behalten (5)

Frage von sebastian2608 zum Thema Windows Server ...

Batch & Shell
Fortschrittsanzeige mit Robocopy? (8)

Frage von imebro zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (23)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...