ラブびあ

ビール。ときどきラブ

richcopy.vbs

VBScript

' このスクリプトファイルを実行するには RichCopy.exe が必要です。
' RichCopy.exe は下記のサイトからダウンロードすることができます。
'
' UtilitySpotlight 
' http://technet.microsoft.com/ja-jp/magazine/2009.04.utilityspotlight.aspx
' http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25c359cc0842/HoffmanUtilitySpotlight2009_04.exe

' exe=RichCopy.exeの場所
' src=コピー元フォルダ
' dst=コピー先フォルダ
' out=ログファイル
' office2003=office2003のファイル拡張子
' office2007=office2007のファイル拡張子
' fif=コピーするファイルのフィルタ
' fef=コピーしないファイルのフィルタ
' fed=コピーしないフォルダのフィルタ
' etc=その他のオプション
const vbHide=0
exe="""C:\Program Files\Microsoft Rich Tools\RichCopy 4.0\RichCopy.exe"""
src="""\\server\hoge\fuga"""
dst="""C:\mirror"""
out="""C:\mirror\richcopy.log"""
office2003="*.doc;*.xls;*.ppt"
office2007="*.docx;*.docm;*.dotx;*.dotm;*.xlsx;*.xlsm;*.xltx;*.xltm;*.xlsb;*.xlam;*.pptx;*.pptm;*.potx;*.potm;*.ppam;*.ppsx;*.ppsm;*.sldx;*.sldm;*.thmx"
fif="/FIF ""*.txt;*.pdf;%office2003%;%office2007%;"""
fef="/FEF ""~$*.doc;*のバックアップ.xlk;"""
fed="/FED ""old;work"""
etc="/TD 4 /TP 4 /QA /QP %out% /UE /UC /UET"

CreateObject("WScript.Shell").Run cmd("%exe% %src% %dst% %fif% %fef% %fed% %etc%"), vbHide

function cmd(s) 'パラメータを展開する
  cmd = s
  with CreateObject("VBScript.RegExp")
    .Pattern = "%([^%]+)%"
    .Global = True
    do while .Test(cmd)
      for each par in .Execute(cmd)
        Execute "cmd = Replace(cmd, par, " + par.subMatches(0) + ")"
      next
    loop
  end with
end function