2011年5月26日木曜日

Win7 x64でRAMDisk + Firefox Portable 2 (バッチによる同期編)

 Allway Syncを使ってRamDiskの同期を取っていたのだが試用期間が過ぎてしまったようで
使えなくなったのでバッチ処理にしてみた。
pro版が有料って書いてあったから無印はずっと使えると思ってたのだが…





.batファイルは書いたこと無かったのだが調べながらどうにかこうにか。
下記サイトを参考にログオン、ログアウト、シャットダウン、のタイミングで.batを実行し、
RAMDisk上のデータの同期が取れてる状態。



RAMDiskでwindows 7 を快適に 
http://fuktji-ji.sakura.ne.jp/PCnotes/RAMDisk.html 

(7)グループポリシーの、スタートアップ/シャットダウンに
BAT ファイルを登録する

ローカル グループ ポリシー をつかって、
windows 7 のシャットダウン・起動時に、BAT ファイルを実行する
なお、これによる起動・シャットダウン時間への影響は、ほとんどありません。
===========================================================
1.ローカル グループ ポリシ・ エディター の起動
(1) Windows のスタートメニューを開き、
左下の検索ボックスに、次のコマンドを入力する
gpedit.msc
(2) 検索された、プログラムを実行する
2.起動された、「ローカル グループ ポリシー エディター」で
(1) コンピューターの構成 / windows の設定
/ スクリプト(スタートアップ/シャットダウン)
を選択する
(2) 右側の画面で、スタートアップをダブルクリックする
(3) スタートアップ スクリプト画面で
追加ボタンを押す
(4) スクリプトの追加画面で
スクリプト名欄に
RAMDisk_Startup.bat   と記述する
(5) (2) と同様に、右側の画面で、シャットダウンをダブルクリックする
(6) シャットダウン スクリプト画面で
追加ボタンを押す
(7) スクリプトの追加画面で
スクリプト名欄に
RAMDisk_Shutdown.bat   と記述する

なお.batファイルの保存箇所はそれぞれ

・C:\Windows\System32\GroupPolicyUsers\User\Scripts\Logon\RAMDisk_Startup.bat
・C:\Windows\System32\GroupPolicyUsers\User\Scripts\Logoff\RAMDisk_Shutdown.bat
・C:\Windows\System32\GroupPolicyUsers\Machine\Scripts\Shutdown\RAMDisk_Shutdown.bat

となっている。どれもポリシーエディターのデフォルト参照先。
存在しないフォルダは新規作成した。

Windows7ではログオフとシャットダウンは別々のトリガーになってるらしいので、
(シャットダウン時にはログオフとシャットダウンの両方のバッチが実行されると判明、
 2度実行されてしまうのでシャットダウン時は除外)
参考サイトには載ってないが自分でlogon、logoffも追加。
(1)をユーザー構成に読み替えればいい。



#.batファイルの中身は以下

(訂正版があります。 11/05/28) 
Win7 x64でRAMDisk + Firefox Portable 3 (完結編)

・RAMDisk_Startup.bat (前回終了時の状態を復元)

:loop
ping localhost -n 10 > nul
if not exist "R:" goto loop

robocopy G:\Ramdisk\FirefoxPortable R:\FirefoxPortable /B /MIR
・RAMDisk_Shutdown.bat (RAMDisk上のデータを保存)
robocopy R:\FirefoxPortable G:\Ramdisk\FirefoxPortable /B /MIR
Startup.batの方はRAMDiskの用意するのとWindows起動直後のアクセスの集中を回避する目的で
pingを使った約10秒間のウェイトを入れてある。必要ないかもしれないが一応。

robocopyは /MOT:m オプションで変更をm分ごとにチェックして同期できるのだが
Startup.batに書き加えるだけではうまく動かなかった。
手動で実行(管理者として実行)する分には動くのだが…
RAMDiskのファイルシステムの破損が原因でした。11/05/28

robocopy R:\FirefoxPortable G:\Ramdisk\FirefoxPortable /B /MIR /MOT:10

当面はRichCopyを使って凌ぐことにする。
http://www.forest.impress.co.jp/article/2009/05/15/richcopy.html

0 件のコメント:

コメントを投稿