vbscript und xcopy problem
Hallo,
ich möchtem ein vbscript programmierenin dem unter anderem eine Datei kopiert wird. Hierbei ist besonders wichtig das die Zugriffsrechte dieser Datei erhalten bleiben. Deshalb wollte ich aus dem Vbscript den xcopy Befehl aufruten um die Datei zu kopieren. Das funktioniert auch so lange im Quell- oder Zielpfad kein Lehrzeichen enthalten ist !
Hat jemand eine Idee wie ich trotz Lehrzeichen im Pfad den Xcopy Befehl nutzen kann ?
Danke !
ich möchtem ein vbscript programmierenin dem unter anderem eine Datei kopiert wird. Hierbei ist besonders wichtig das die Zugriffsrechte dieser Datei erhalten bleiben. Deshalb wollte ich aus dem Vbscript den xcopy Befehl aufruten um die Datei zu kopieren. Das funktioniert auch so lange im Quell- oder Zielpfad kein Lehrzeichen enthalten ist !
Hat jemand eine Idee wie ich trotz Lehrzeichen im Pfad den Xcopy Befehl nutzen kann ?
Danke !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 75880
Url: https://administrator.de/contentid/75880
Ausgedruckt am: 20.11.2024 um 06:11 Uhr
7 Kommentare
Neuester Kommentar
@forum Obwohl verwerflich trotzdem lol
@sisa2002
Diese Hochkommarei kann einen wirklich in den Wahnsinn treiben. Aber damit Du am Ende nicht doch noch im Regen stehtst, möchte ich noch darauf hinweise, dass Du gewünschte ACL / Zugriffsrechte nur dann mitkopierst, wenn Du entsprechenden Schalter (/o) verwendest.
vgl.: aus Hilfe
' /o
' Kopiert Informationen zu den Besitzrechten an einer Datei und zur freigegebenen Zugriffsliste (Discretionary Access Control List, DACL).
' /x
' Kopiert Informationen zu Dateiüberwachungseinstellungen und zur Systemzugriffssteuerungsliste (System Access Control List, SACL) (impliziert /o)
Gegebenenfalls ist auch Dein Kopierziel ein Verzeichniss mit Leerzeichen.
Daher zwei Lösungsbeispiele die vollständig maskiert sind. D.h. alle notwendigen Hochkommas erhalten. Und auch die beiden Schalter /0 und /x sind enthalten.
Gegebenfalls halt /x wieder entfernen.
Habe vorsichtshalber sogar vollständig getestet und läuft bei mir XPP / WSH 5.7
ohne Probleme.
ciao pacobay
@sisa2002
Diese Hochkommarei kann einen wirklich in den Wahnsinn treiben. Aber damit Du am Ende nicht doch noch im Regen stehtst, möchte ich noch darauf hinweise, dass Du gewünschte ACL / Zugriffsrechte nur dann mitkopierst, wenn Du entsprechenden Schalter (/o) verwendest.
vgl.: aus Hilfe
' /o
' Kopiert Informationen zu den Besitzrechten an einer Datei und zur freigegebenen Zugriffsliste (Discretionary Access Control List, DACL).
' /x
' Kopiert Informationen zu Dateiüberwachungseinstellungen und zur Systemzugriffssteuerungsliste (System Access Control List, SACL) (impliziert /o)
Gegebenenfalls ist auch Dein Kopierziel ein Verzeichniss mit Leerzeichen.
Daher zwei Lösungsbeispiele die vollständig maskiert sind. D.h. alle notwendigen Hochkommas erhalten. Und auch die beiden Schalter /0 und /x sind enthalten.
Gegebenfalls halt /x wieder entfernen.
Habe vorsichtshalber sogar vollständig getestet und läuft bei mir XPP / WSH 5.7
ohne Probleme.
ciao pacobay
' VB Script Document
Option Explicit
'---------------------------
Dim wshShell
Set wshShell = Wscript.CreateObject("Wscript.Shell")
'---------------------------
'Alternative A
SUB A
Dim RunStringA
RunStringA= "xcopy " & """" & "C:\test 123456789\Datum.txt" & """" & " " & """" & "L:\test 5555" & """" & " /o /x"
WScript.echo RunStringA
wshShell.Run RunStringA
'
'
' Echo nur als kleiner Trick um CMD Fensteranzeige offen zu lassen. Nur zu Testzwecken
'
WScript.echo
END SUB
'
'
SUB B
'Alternative B
wshShell.Run "xcopy " & """" & "C:\test 123456789\Datum.txt" & """" & " " & """" & "L:\test 5555" & """" & " /o /x"
WScript.echo 'kleiner Trick um CMD Fensteranzeige offen zu lassen
' nur zu Testzwecken eingefügt
END SUB
'
'A
'B
'
Moin sisa2002 und alle beteiligten Mitposter,
ich habe den Thread etwas verschlankt und alle "nicht-zielführenden" Kommentare gelöscht.
Die meisten davon waren ohnehin von mir - okay, zwei unbeteiligte Poster mit hilfreichen Lösungsansätzen hat es dabei leider mit hinuntergerissen.
Sorry dafür. Collateral dammage, wie das Achselzucken auf amerikanisch heißt.
Aber ganz löschen wollte ich den Thread jetzt nach den neuen Impulsen und dem Wiederansteuern des hier üblichen Forumsniveaus durch pacobays Kommentar nun auch nicht mehr.
Ich werde auch versuchen, mich zu bessern.
Und jetzt schließe ich diesen Thread.
Grüße und schönes Wochenende
Biber
ich habe den Thread etwas verschlankt und alle "nicht-zielführenden" Kommentare gelöscht.
Die meisten davon waren ohnehin von mir - okay, zwei unbeteiligte Poster mit hilfreichen Lösungsansätzen hat es dabei leider mit hinuntergerissen.
Sorry dafür. Collateral dammage, wie das Achselzucken auf amerikanisch heißt.
Aber ganz löschen wollte ich den Thread jetzt nach den neuen Impulsen und dem Wiederansteuern des hier üblichen Forumsniveaus durch pacobays Kommentar nun auch nicht mehr.
Ich werde auch versuchen, mich zu bessern.
Und jetzt schließe ich diesen Thread.
Grüße und schönes Wochenende
Biber