【コラム】

Windowsスマートチューニング

175 Win 7編: バッチファイルで共有フォルダーを同期する

    阿久津良和  [2012/02/22]

    こんにちは、阿久津です。既に各誌でも報じられているように、Windows VistaおよびWindows 7のサポート期間が改訂されました。当初個人向けエディションとなるWindows Vista Home Premiumは、2012年4月にメインストリームサポートが終了する予定でしたが、MicrosoftのWindows Vista用サポートサイクルによると、延長サポート終了日が同Business/Enterpriseエディションと同じタイミングとなる2017年4月11日に延長。それに合わせて、Windows 7全エディションの延長サポート終了日も2020年1月14日に延長されています。

    ここで一度整理しますと、以前Windows XPの延長サポート終了日が2014年4月8日に延長されたことで、Windows Vistaの個人向けエディションが2012年4月に終了するという逆転現象が発生していました。そもそもメインストリームサポートは個人向けエディションを対象にしたフェーズですが、延長サポートは企業向けエディションが対象。つまり、表面的には順当ながらも現実的には逆転するという状況なのです(図01)。

    図01: 改訂後の各Windows OSにおけるサポート期間

    サポートライフサイクルの具体的な内容はこちらで確認できるとおり、延長サポートフェーズに入りますと、仕様変更や新機能のリクエスト、無償サポートライセンスおよびライセンスプログラムなどを受けることはできません。しかし、個人でMicrosoftに有料サポートを申し込むユーザーは多くありませんし、セキュリティ更新プログラムは継続して提供されるため、今回の改訂は個人向けエディションを使用しているユーザーにとって大きな恩恵を受けることになるでしょう。

    その一方で話題になっているのが、The Windows Blog発表されたWindows 8(開発コード名)の新しいロゴです。本誌でも既に報じられているとおり、Metroスタイルのコンセプトを取り入れたシンプルなデザインに変更されました(図02)。

    図02: これが新しいWindows 8のロゴ(公式ブログより転載)

    ブログ記事を投稿したSam Moreau氏によると、"本物のデジタル"と表すために立体感や陰影を排除したと述べています。もっとも、Windows 8は正式発表されたOS名でないため、本ロゴデザインも仮決定にとどまるのではないでしょうか。なお、デスクトップの背景色に合わせてロゴの配色も変化するとのことですが、実際に目にしないと何とも言えません。今月末に登場すると言われているWindows 8 Consumer Previewの登場を待ちたいと思います。

    さて、新たに発見されたWindows 7の問題として、オフラインファイルの機能である「常にオフラインで使用する」を使用しているコンピューターをスリープ状態から復帰させますと、数分待たされるというものがあります。これは同機能が使用するクライアント側のキャッシュ(CSC)のロジックが正しく動作せず、再接続を繰り返すために起きる現象(図03)。

    図03: 「オフラインファイル」が有効な状態では、フォルダーのコンテキストメニューに<常にオフラインで使用する>が用意されます

    もちろん修正プログラムは用意されていますが、LDR(Limited Distribution Release)に区分されるため、修正プログラム導入後の悪影響が検証し終わっていません。同問題を説明しているWebページにある「この技術情報に対応する修正プログラムのダウンロードのリスト」をクリックすれば、電子メールで修正プログラムを入手することは可能ですが、仕事で使うコンピューターに適用するのはリスクが発生します。

    しかし、オフラインファイル機能をチューニングで再現することは現実的ではありません。そこでちょっと趣向を変えて、今回は共有フォルダーをネットワークドライブとしてマウントし、robocopyコマンドでフォルダーの同期を行うバッチファイルを紹介します。

    1.メモ帳を起動し、囲みの内容を自身の環境に変更しながら入力します。
    2.適当なフォルダーにお好きな名前と拡張子「.bat」を付けて保存します。
    @echo off
    setlocal
    set USER=user
    set PASS=password
    set SRC=\\PC1\Share1
    set DIST=%USERPROFILE%\Documents\Work
    set OPT=/mir
    
    if "%1" == "-c" goto CONNECT
    if "%1" == "-d" goto DISCONNECT
    echo %0 -connect^|-disconnect
    goto END
    
    :CONNECT
    net use x: %SRC% %PASS% /USER:%USER% /PERSISTENT:NO && robocopy %SRC% %DIST% %OPT%
    goto END
    
    :DISCONNECT
    robocopy %SRC% %DIST% %OPT% && net use x: /DELETE
    
    :END
    endlocal

    これでチューニングが終了しました(図04~08)。

    図04: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「notepad」と入力して<OK>ボタンをクリックします

    図05: メモ帳が起動したら囲みの内容を自身の環境に変更しながら入力し、<×>ボタンをクリックします

    図06: 保存をうながすダイアログが現れたら、<保存する>ボタンをクリックします

    図07: 適当なフォルダーに「"FolderSync.bat"」などお好きな名前を付けてから、<保存>ボタンをクリックします

    図08: バッチファイルが正しく生成されれば作業完了です

    早速結果を確認してみましょう。コマンドプロンプトを起動して、接続時はバッチファイルに「-c」を付けて実行してください。これで環境変数「SRC」に接続し、同共有フォルダーと環境変数「DIST」で指定したフォルダー間をRobocopyコマンドで同期が行われてます。切断時はバッチファイルに「-d」を付けて実行してください。同じようにRobocopyコマンドによる同期を実行してから、共有フォルダーの切断が行われます(図09~14)。

    図09: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「cmd」と入力して<OK>ボタンをクリックします

    図10: バッチファイル名を入力して[Enter]キーを押しますと、簡単な使い方が表示されます

    図11: バッチファイルに「-c」を付けてから[Enter]キーを押しますと、ネットワークドライブの割り当てを行ってから、Robocopyが実行されます

    図12: もちろんネットワークドライブは、コンピューターから参照できます

    図13: バッチファイルに「-d」を付けてから[Enter]キーを押しますと、Robocopyによる同期が実行してからネットワークドライブの切断が行われます

    図14: ネットワークドライブは、コンピューターから取り除かれます

    今回のバッチファイルでは、前のコマンドが成功した場合だけ実行する「&&」を使用していますが、それ以外のエラー対処は行っておりません。ネットワーク環境はお使いの方によって異なる傾向が強いため、必要であればラベル「CONNECT」「DISCONNECT」に使用するコマンドを追加してください。

    それでは、また次号でお会いしましょう。

    阿久津良和(Cactus)

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン