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 Robocopy in VB Script einbinden

Mitglied: fraggle666

fraggle666 (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 11:23 Uhr, 15813 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
Batch & Shell
Robocopy Backup Script
Tipp von kunert0345Batch & Shell9 Kommentare

Backupscript zum Erstellen monatlicher Backups und zur täglichen Aktualisierung der monatlichen Backups:

VB for Applications

VB-Script in VB-Script starten und Parameter übergeben

gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

Batch & Shell

VB Script ändert Dateinamen

gelöst Frage von mschaedler1982Batch & Shell5 Kommentare

Hallo zusammen. Kurze Erläuterung zu diesem Thema. Eine Maschine legt jeden Tag zu einer bestimmten Uhrzeit sehr sehr viele ...

VB for Applications

VB-Script per Aufgabenplanung

gelöst Frage von S4kar97VB for Applications2 Kommentare

Hallo, Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 1 TagInternet4 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 1 TagWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 2 TagenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 TagenSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
TAPI auf einem Win2016Server installieren und einrichten
Frage von wstabelTK-Netze & Geräte26 Kommentare

Hallo liebe Admins, ich habe folgende Situation: 1 Windows Server 2016 Standard als DC 1 SNOM 710 IP-Telefon 1 ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell24 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...

Microsoft
Übertragung von MS Volumenlizenzen
Frage von SherlockineMicrosoft19 Kommentare

Ich bin Angestellte in einer kleinen 10-köpfigen IT-Firma, die Netzwerklösungen, Telefonielösungen und Ähnliches anbietet. Im Sommer hatten wir einen ...