質問: windows マシンから linux サーバーにあるファイルを、SCPで定期的に自動バックアップしたいです。 windows マシンの電源は常に入っている状態です。 バックアップ対象のファイルは、ファイル名に日付等が含まれていません (xxxx.20090101.zip ではなく常に xxxx.zip)。 できればバックアップファイルの世代管理をしたいので、windows 側で xxxx.zip を xxxx.20090101.zip の ように自動的にリネームしたいです。 この要件を満たすバックアップソフト等をご存知でしたら教えてください。 私が考えたのは Cygwin の Cron で WinSCP のコマンドをたたく、といったものですが、 バックアップするマシンはお客様のものですのでできれば Cygwin 等をインストールしたくはないです。
回答: ダウンロードしたファイルを、WSH でリネームしてはどうでしょう。 下記のスクリプトを拡張子 .vbs でセーブして、コマンドラインからバッチとして実行して下さい。 ``` Dim ff, fs Dim sour, sour_name, sour_ext sour_name = "xxxx" '元のファイル名 sour_ext = ".zip" '元の拡張子 '変更後ファイル名 dest = sour_name & "." & Year(Now()) & Month(Now()) & Day(Now()) & sour_ext set fs = WScript.CreateObject("Scripting.FileSystemObject") sour = fs.BuildPath("./", sour_name & sour_ext) set ff = fs.getFile(sour) ff.name = dest ``` #### 参考サイト * チェック式 WSH入門