わかりました。私は VBScript にまったく慣れていないので、気楽にやってください。
プライマリ バックアップ フォルダーに存在しなくなった冗長バックアップ フォルダーからファイルを削除する VBScript を作成しようとしています。冗長フォルダー内の各ファイルを取得し、同じ名前のファイルがプライマリ バックアップ フォルダーに存在するかどうかを確認するものを想定しています。そうでない場合は、冗長フォルダー内のファイルを削除します。簡単そうに見えますが、私の VB の知識不足が足を引っ張っていると思います。
編集: これは Server 2003 で実行されます。
これが私がこれまでに持っているものです:
'variables
dim fso1
dim fso2
dim redundantFolder
dim primaryFolder
dim redundantFile
dim primaryFile
dim counter
'creates file system object
Set fso1 = CreateObject("Scripting.FileSystemObject")
set fso2 = CreateObject("Scripting.FileSystemObject")
'sets the folder object to redundant backup folder
Set redundantFolder = fso1.GetFolder("C:\Users\bmcwilliams\Desktop\Dev\TestCompleted")
'sets folder object to primary folder
Set primaryFolder = fso2.getFolder("C:\Users\bmcwilliams\Desktop\Dev\TestUnCompleted")
'deletes files that aren't found in primary folder
For Each redundantFile in redundantFolder
For Each primaryFile in primaryFolder
if primaryFile.name == redundantFile.name
flag = false
Next
コードの「For Each」ブロックのロジックが不完全であり、単に間違っていることは承知していますが、それは私の小さな脳が許した限りです。
前もって感謝します。どんな助けでも大歓迎です。
編集:これが最終的なコードです。別の初心者に役立つことを願っています:
'creates file system object
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set fso2 = CreateObject("Scripting.FileSystemObject")
'sets the folder object to redundant backup folder
Set redundantFolder = fso1.GetFolder("C:\temp\redundant")
'sets folder object to primary folder
Set primaryFolder = fso2.GetFolder("C:\temp\primary")
'deletes files that aren't found in primary folder
For Each redundantFile In redundantFolder.Files
If Not fso1.FileExists(primaryFolder.Path + "\" + redundantFile.Name) Then
redundantFile.Delete
End If
Next