0

robocopy の実行に関する VBscript の構文エラーと思われる問題が発生しています。

以下は、私が現在 robocopy を実行しようとしているもののコード スニペットです。

Dim Command2

sLocalDestinationPath = "C:\Script\files\outzips\"
sFinalDestinationPath = "C:\CopyTestFolder\"


Command2 = "Robocopy.exe " & sLocalDestinationPath & " " & sFinalDestinationPath 

問題は、コマンドがエラーを生成しないことですが、ローカル パスから最終パスにファイルをコピーすることもありません。コマンドラインから実行すると、完全に正常に動作します。この単純なコマンドが、このスクリプトの残りの部分を完成させるのを妨げているため、どんな助けも大歓迎です。

コマンドをエコーアウトすることもでき、コマンドはコマンドラインに入力したものと正確に一致します。

ありがとうございます。これ以上説明が必要な場合はお知らせください。

4

1 に答える 1

1

どのように「実行」しようとしているのかはわかりませんがRobocopy、経由していると思いWScript.Shell.Run()ます。

私はたまたま便利ではありませんがRobocopy、 Windows を使用して例を作成しましたXCopy。おそらく、私の簡単なXCopy例を適応させて、 の問題についてより多くの洞察を得ることができますRobocopy

Option Explicit

' XCOPY doesn't Like trailing slashes in folder names
Const sLocalDestinationPath = "C:\Script\files\outzips"
Const sFinalDestinationPath = "C:\CopyTestFolder"

Dim Command2 : Command2 = _
    "XCOPY" _
    & " " & sLocalDestinationPath _
    & " " & sFinalDestinationPath _
    & " /E /I /Y" _
    & ""

Dim oSh : Set oSh = CreateObject("WScript.Shell")

WScript.Echo "Cmd: [" & Command2 & "]"

On Error Resume Next
Dim nRetVal : nRetval = oSh.Run(Command2, 0, True)

If Err Then
    WScript.Echo "An exception occurred:" _
           & vbNewLine & "Number: [" & Hex(Err.Number) & "]" _
           & vbNewLine & "Description: [" & Err.Description & "]" _
           & ""
Else
    If nRetVal Then
         WScript.Echo "Copy error: [" & nRetVal & "]"
    Else
         WScript.Echo "Copy succeeded."
    End If
End If

Set oSh = Nothing

' XCOPY options:
'
' /E    Copies directories and subdirectories, including empty ones.
'       Same as /S /E. May be used to modify /T.
'
' /I    If destination does not exist and copying more than one file,
'       assumes that destination must be a directory.
'
' /Y    Suppresses prompting to confirm you want to overwrite an
'       existing destination file.

' End
于 2012-07-06T17:50:34.797 に答える