VBS 및 robocopy를 사용하여 공유를 로컬 컴퓨터로 미러링하려고합니다. 스크립트는 작동하지만 공유 폴더에 경로에 공백이있어 공백이있는 경로로 작업 할 수 없습니다.VBS : oShell.run 및 robocopy가 작동하지 않습니다.
InputFile = "\\baardrob\Software application\Scripts\Input\computers.Txt"
Const OverWriteFiles = True
Set oShell = WScript.CreateObject("WSCript.shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(InputFile)
Set myLog = objFSO.OpenTextFile("\\baardrob\Software application\Scripts\Input\failed.txt", 2)
Do Until objFile.AtEndOfStream
strComputer = objFile.ReadLine
On Error Resume Next
oShell.run "robocopy "\\baardrob\software application" c:\temps /mir"
If Err Then myLog.WriteLine strComputer
On Error Goto 0
Loop
myLog.Close
MsgBox "Done"
편집 : Ekkehard.Horner 솔루션은 그래도 난 또 다른 문제를 가지고 일했다. c : \ temps는 작동시키기위한 시도 일 뿐이며 실제로 "\"& strComputer "\ c $"에 쓰여야하지만 작동하지 않습니다.
나는 allready 시도 :
InputFile = "\\baardrob\Software application\Scripts\Input\computers.Txt"
Const OverWriteFiles = True
Set oShell = WScript.CreateObject("WSCript.shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(InputFile)
Set myLog = objFSO.OpenTextFile("\\baardrob\Software application\Scripts\Input\failed.txt", 2)
Do Until objFile.AtEndOfStream
strComputer = objFile.ReadLine
On Error Resume Next
oShell.run "robocopy ""\\baardrob\Software application"" ""\\"" & strComputer & ""\c$"" /mir"
If Err Then myLog.WriteLine strComputer
On Error Goto 0
Loop
myLog.Close
MsgBox "Done"
"작동하지 않는다"는 부족 오류 설명이다. 'robocopy'가 로그 ('/ log : C : \ path \ to \ your.log')를 쓰고 어떤 에러가 발생하는지보십시오. 또한 관리 공유에 액세스하려면 관리자 권한이 필요합니다. –