1

基本的に、アクセスおよび変更された別のフォルダーにファイルを移動するためのスクリプトが必要です。

私はスクリプトを初めて使用するので、これは単純な問題かもしれませんが、困惑しています。これが私が得ているエラーです:

スクリプト:C:\ Users \ bmcwilliams \ Desktop \ pssitest.vbs

ライン:17

Char:10

エラー:ファイルはすでに存在します

コード:800A003A

ソース:MicrosoftVBScriptランタイムエラー

宛先フォルダが空なので、何が起こっているのかわかりません。

以下は私が持っているコードです。この投稿にリストされているコードから変更されています:

ファイルサイズに基づいてディレクトリから別のディレクトリにファイルを移動する方法

' use a default source path
dim sourcepath: sourcepath = "C:\users\bmcwilliams\Desktop\TestUncompleted"

' use a default destination path
dim destinationpath: destinationpath = "C:\users\bmcwilliams\Desktop\TestCompleted"

dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim sourcefolder: set sourcefolder = fso.GetFolder(sourcepath)

' loop through each file in the directory, compare size property against
' the limit and copy as appropriate
dim file, count: count = 0
for each file in sourcefolder.Files
    dim createDate: createDate = file.DateCreated
    dim modifyDate: modifyDate = file.DateLastModified
    if createDate <> modifyDate Then
         file.Move destinationpath
         count = count + 1
    end if
next

WScript.Echo("complete: " & count & " file(s) moved")

何か案は?どんな入力でも大歓迎です。ありがとう!

4

2 に答える 2

1

新しい場所にコピーしていますが、ファイルの新しい名前を指定しないでください。この問題を修正するには、宛先パスに\とファイル名を追加します。

file.Move destinationpath +"\" + file.name
于 2012-10-11T20:31:59.847 に答える
0

ファイルを移動するための移動先パスがフォルダーであり、絶対パス(移動先ファイル名を含む)ではない場合は、末尾に円記号を付ける必要があります。

destinationpath = "C:\users\bmcwilliams\Desktop\TestCompleted\"

そうしないと、Move操作によって宛先(フォルダー)が既に存在することが検出され、失敗します。

于 2012-10-11T20:36:10.703 に答える