随時内容の変わるテキストファイルAを、1時間に1回を目安に同一フォルダ内のテキストファイルBにバックアップします。Bは1時間おきに上書きされます。時計の秒針と時針のような関係です。
諸般の事情で「同一フォルダ内」は動かせないルールとなっています。
従来は人が「名前をつけて保存」していましたが、つまらない作業なので無人化したいのです。
環境はWindowsXPで、当該PCはWWWやLANとの接続が禁止されており、電源ケーブルしかつながってません。その代わりソフトウェアの導入はほぼ自由です。
ファイルをコピーするスクリプトです。
テキストファイルに貼り付けて、ファイル名とフォルダを書き替え
ファイルコピー.vbs
のようなファイル名で保存します。(拡張子をvbsにする事)
そして、ウィンドウズのタスクに登録すればOKです。
Option Explicit Const COPY_FROM = "コピー元.txt" Const COPY_TO = "コピー先.txt" Const TARGET_FOLDER = "D:\Test" Dim fso Dim copyFrom, copyTo Set fso = WScript.CreateObject("Scripting.FileSystemObject") copyFrom = fso.BuildPath(TARGET_FOLDER, COPY_FROM) copyTo = fso.BuildPath(TARGET_FOLDER, COPY_TO) If fso.FileExists(copyFrom) = False Then Set fso = Nothing WScript.Quit End If fso.CopyFile copyFrom,copyTo,True '(上書き) Set fso = Nothing
タスクは、時間間隔でのスケジュールはできなかったと思いますので、日単位でのスケジュールを8個とか12個とか用意すれば良いでしょう。
どうもありがとうございます。試してみます。
……うまくいきました! バッチリです。これでもう、つまらないことで叱られずに済みます。
2つのフォルダの同期をとるツールはたくさんあるのに、どうして2つのファイルの同期をとるツールがないのでしょうね。そういう需要って、ほとんどないのかなあ。もしそういうツールがたくさんあれば、例えばブログ普及以前でも、「日記サイトのトップページと過去ログを同時に更新する」なんて簡単なことだったでしょうに。