2011年8月25日木曜日

DISKCOMP = フロッピーディスクの内容を比較する。途中に質問あり版 - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。ファイルとフォルダー関連
○Windows XP
2枚のフロッピーディスクの内容を比較します。
フロッピーディスクドライブが1台だけの時も、実行する事が出来ます。

o フロッピーディスクドライブが1台だけの時は、このコマンドを実行する時、
    + 予め、フロッピーディスクをフロッピーディスクドライブに入れて、
    + カレントドライブをそのドライブに移動しておく必要があります。
o フロッピーディスクドライブが2台ある時も、このコマンドは途中で質問します。


**** 書式
--------
diskcomp [ドライブ1: [ドライブ2:]]
--------

o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o ドライブ1: = 1枚目のフロッピーディスクを入れるドライブ名です。(例 a: )
    + アルファベット1文字の後にコロンを付けます。
    + 省略可能です。省略時は、カレントドライブを使います。
o ドライブ2: = 2枚目のフロッピーディスクを入れるドライブ名です。
    + アルファベット1文字の後にコロンを付けます。
    + 省略可能です。省略時は、カレントドライブを使います。


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = フロッピーディスク内容の一致
    + 「違いはありません」 = 2つのフロッピーディスクの内容は同じです。
    + 続けて比較した時は、最後に実行した結果が戻ります。
        + 不一致が続いていても、最後の比較結果が一致なら、0です。
o 1 = フロッピーディスク内容に相違有り
    + 「サイド 0、トラック 0 で比較エラーがありました」 = 相違点を発見しました。
    + 続けて比較した時は、最後に実行した結果が戻ります。
        + 一致が続いていても、最後の比較結果が不一致なら、1です。
o 3 = フロッピーディスクが抜けた状態で実行
    + 「1 枚目のディスクが正しくないか、または互換性がありません。」
        + = 1枚目の読み取りに失敗しました。おそらくドライブにディスクが入っていません。
    + 「2 枚目のディスクが正しくないか、または互換性がありません。」
        + = 2枚目の読み取りに失敗しました。おそらくドライブにディスクが入っていません。
o 4 = カレントドライブ不正
    + 「無効なドライブ指定です。指定されたドライブは存在しないか、またはハード ディスクです。」
        + = このコマンドを実行する前に、カレントドライブをフロッピーディスクドライブに移動して下さい。
o 9084 = カレントドライブ移動後のフロッピーディスク抜き
    + 最初に「ディスクがありません」エラーメッセージ画面が出てきて、2回キャンセルすると
    + 「現在のディレクトリは無効です。」
        + フロッピーディスクを現在のドライブに入れてから実行して下さい。


**** 機能
o 2枚のフロッピーディスクの内容を比較します。
    + フロッピーディスクドライブが1台だけの時も、実行する事が出来ます。
o フロッピーディスクドライブが1台だけの時は、このコマンドを実行する前に準備が必要です。
    + 予め、フロッピーディスクをフロッピーディスクドライブに入れて、
    + カレントドライブをそのドライブに移しておく必要があります。
o このコマンドは、途中で質問してきます。
    + ですので、このコマンドは、自動実行には向いていません。


**** 使用例
--------
rem # フロッピーディスクを A ドライブに入れた後に
a:
diskcomp a:

diskcomp
diskcomp a: b:
--------

    + コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
    + 途中で質問してきます。ですので、このコマンドは、自動処理には向いていません。


** 表示の流れ
--------
A:\>diskcomp a:

ドライブ A: に 1 枚目のディスクを挿入してください
準備ができたら Enter キーを押してください...

比較しています
トラック数: 80, セクタ数: 18 セクタ/トラック, サイド数: 2

ドライブ A: に 2 枚目のディスクを挿入してください
準備ができたら Enter キーを押してください...

違いはありません

別のディスクを比較しますか (Y/N)? n
--------

    + ドライブを1つ使う時は、途中操作が3回必要です。「Enter」キー、「Enter」キー、「N」「Enter」キー
    + ドライブを2つ使う時には、途中操作が2回に減ります。「Enter」キー、「N」「Enter」キー

** 不一致の時の表示の流れ
--------
ドライブ A: に 2 枚目のディスクを挿入してください
準備ができたら Enter キーを押してください...

サイド 0、トラック 0 で
比較エラーがありました

サイド 1、トラック 0 で
比較エラーがありました

別のディスクを比較しますか (Y/N)? n
--------



**** 確認したバージョン
o Windows XP Service Pack 3 (32bit) + Windows Update 2011年8月版


==
関連ページ:
    ▼Windowsコマンド。ファイルとフォルダー関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > SORT = ファイルの内容やコマンド出力結果を並べ替えて表示する
    COPY = ファイルをコピーする
    COPYコマンドの /Aと/Bの意味
    +
    FC = ファイルの内容を比較して、それらの違いを表示する
    COMP = ファイルの内容を比較する。最後に質問あり版
    DISKCOPY = フロッピーディスクの内容を別のフロッピーディスクにコピーする。途中に質問あり版
(2011年8月26日追加。FDD2台指定時の動作。省略時の既定ドライブはカレントドライブ)

ロシア発。初音ミクカーのドリフト動画 - 初音ミク


ご参考。Moscow Drift (Full version) (on YouTube)
2011年の雑談
YouTubeで見つけた動画です。(初音ミクカーの登場は 2:00 辺りから)
ロシアでは、ドリフトシリーズの強豪ドライバー Евгений Сатюков さんが、初音ミクカー(= 初音ミクを描いた車)に乗って大活躍していました。

o 初音ミクカーが車の雑誌に載ったり、
o 2010年のドリフトシリーズ年間総合ランキングで1位となったり、
o この動画を作ったり。
o ドリフトシリーズ = 車を横滑りさせて、格好良さを競う競技会です。ロシアで開催されています。

親しみ易い動画の多い初音ミクですが、この動画のような緊張感のある雰囲気も良いものですね。


o 映像演出の観点からの見所は
    + 4:34 からの、走る美しさを追及した映像が素晴らしいです。
        + 3Dではまだ表現出来ない、実写の美しさと迫力が伝わってきました。
    + そして、そこまでに至る演出技術
    + 0:36 から 0:55。一見関係の無い場面から、画面切り替えを重ねる事で本題に誘導します。
    + 1:45 あたりからミクカー達が走り出す所まで。車の美しさを、スモークを使って引き立てます。
    + 4:06 から4:15まで。路面の蒸気に振った後、激しい走りで中だるみを解消します。

o 初音ミクカーとしての見所は
    + 車全体を明るい初音ミク色に染めるという、色彩センスが素晴らしいです。
    + 初音ミク公式画像を使っていないにも関わらず、車自身が初音ミクのように見えました。


**** ご参考資料
▽Russian Drift Series(= ロシアのドラフトシリーズのホームページ)
    + 上のメニューは左から、最新レースの結果、参加ドライバーの紹介、今年度の順位、など
    + 参加ドライバーの紹介画面では、顔写真にカーソルを合わせると、表情が変わります。
    + クリックすると、搭乗車の写真付き。


==
関連ページ:
    ▼2011年の雑談
    ▼お知らせなど
    ▼目次
    > MAGIX Music Maker MXドイツ語版登場
    動画投稿サイトzoomeがサービス終了予定。2011年8月31日付け
    VOCALOID 3。2011年秋頃に登場予定
    +
    ▼制作メモ - 初音ミク

2011年8月24日水曜日

COPYコマンドの /Aと/Bの意味 - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。ファイルとフォルダー関連
○Windows XP
COPYコマンドのヘルプには、次のような説明が出てきます。

o /A = ASCII テキスト ファイルとして扱います。
o /B = バイナリ ファイルとして扱います。

そこで、これらのオプションを指定した時に、何が起きるのかを調べてみました。


**** 結論
o 通常のファイルコピーでは、/A は使わない方が安全です。
o 複数のファイルを結合して1つのファイルにする時は、何も指定しないと /A でコピーします。
    + この時、「Unicode」形式で保存したテキストファイル以外は、/B を付ける等の対応が必要です。

**** 詳細
** 2つのファイル形式の違い
o バイナリ ファイル = ファイルの最後に、余分な文字コードを追加しない形式です。
o ASCII テキスト ファイル = 2種類の形式があります。
    + 文字コードが「Unicode」の時は、ファイルの先頭2文字が文字コード 0xFF 0xFE で始まる形式です。
        + 「Unicode」 = 「UTF-16 LE の、BOM付き」の事です。
        + この動作は、メモ帳で保存する時と同じです。
    + 文字コードが「Unicode」以外の時は、ファイルの最後に、文字コード 0x1A を追加する形式です。
        + もちろん、ファイル内容の途中で文字コード 0x1Aは出てきません。
        + (文字コード 0x1Aが出てきた時点で、ファイルの最後とみなします。)
        + この動作は、メモ帳で保存する時とは異なります。

o 確認した文字コードは
    + 「Unicode」 = 「UTF-16 LE BOM付き」 = 特殊扱い
    + 「Unicode big endian」 = 「UTF-16 BE BOM付き」
    + 「ANSI」 = WIndows版 Shift-JIS
    + 「UTF-8」 = UTF-8 BOM付き
    + UTF-8 BOM無し
    + UTF-16 LE BOM無し
    + EUC-JP
    + 上記以外の文字コードは未確認です。

** COPY コマンドの動作
o ファイルをコピーする時、COPY コマンドは次のように仮定します。
    + 1対1のコピーの時は、バイナリファイルであると仮定
    + 複数ファイルを連結して1つのファイルにコピーする時は、ASCIIテキストファイルであると仮定
    + /A や /B オプションを付ける事で、その仮定を打ち消す事が出来ます。
o オプションの判定方法について
    + 同じ場所で /B /A のように並べて書いた時は、後ろに書いたオプションが有効になります。
--------
rem 次の2つのコマンドは、同じ意味です。
copy ネギ.txt /b /a ミクさん.txt
copy ネギ.txt /a ミクさん.txt
--------

    + コピー元ファイルのオプションが指定されていない時
        + そのファイル名の左に書かれているオプションを参照します。
        + 複数のファイルを「+」で連結している時は、1つ左、無ければ2つ左、というの順で参照します。
--------
rem 次の2つのコマンドは、同じ意味です。
copy ネギ1.txt /b + ネギ2.txt ミクさん.txt
copy ネギ1.txt /b + ネギ2.txt /b ミクさん.txt
--------

    + コピー先ファイルのオプションが指定されていない時
        + COPYコマンドの直後の場所に書かれているオプションを参照します。
    + 参照先にも指定が無い時は、
        + 1対1でファイルコピーする時は、/B = バイナリファイル扱い
        + 複数ファイルを1ファイルにコピーする時は、/A = ASCII テキストファイル扱い

o コピー元ファイルが/A オプション(扱い)の時の動作
    + ファイルの先頭2文字が、文字コード(0xFF 0xFE)から始まる時
        + 文字コードが「Unicode」の場合です。
        + 複数ファイルを1つのコピーする時に、2つ目以降のファイルの先頭の文字コード(0xFF 0xFE)をスキップしてコピーします。
    ファイルの先頭2文字が、文字コード(0xFF 0xFE)以外で始まる時
        + ファイルの中に文字コード(0x1A)が登場すると、その文字(0x1A)の手前までをコピーします。
    + その他の時は、素直にファイルをコピーします。
o コピー元ファイルが/B オプション(扱い)の時の動作
    + 素直にファイルをコピーします。

o コピー先ファイルが/A オプション(扱い)の時の動作
    + 文字コードが「Unicode」以外の場合
        + ファイルをコピーした後に、コピー先ファイルの最後に文字コード(0x1A)を追加します。
o コピー先ファイルが/B オプション(扱い)の時の動作
    + ファイルをコピーした後に、文字コードを何も追加しません。


**** メモ
o Windowsのメモ帳の動作は、COPYコマンドの /A とは少し異なります。
    + 文字コード「Unicode」で保存する時の動作は、COPYコマンドの /A と同じです。
        + ファイルの先頭に、文字コード(0xFF 0xFE)を付けます。
    + その他の文字コードで保存する時の動作は、COPYコマンドの /A と異なります。
        + 文字コード「ANSI」 = WIndows版 Shift-JISで保存する時は、
            + ファイルの最後に、文字コード(0x1A)を付けません。
                + COPYコマンドの /B = バイナリファイルと同じ形式です。
            + また、ファイル中に文字コード(0x1A)が含まれていると、小さな矢印のように表示します。
        + 文字コード「Unicode big endian」で保存する時は、
            + ファイルの先頭に、文字コード(0xFE 0xFF)を付けます。
            + ファイルの最後に、文字コード(0x1A)を付けません。
        + 文字コード「UTF-8」で保存する時は、
            + ファイルの先頭に、文字コード(0xEF 0xBB 0xBF)を付けます。
            + ファイルの最後に、文字コード(0x1A)を付けません。
o ファイルを1対1でコピーする時は、オプション無しで問題はありません。
o 一方、複数のファイルを連結して1つのファイルにコピーする時には、問題が起こる場合があります。
    + COPYコマンドは、各ファイルをASCII テキストファイルだと仮定します。
    + ですので、ファイルの文字コードに応じて、/B オプションを使うなどの対応が必要になります。


**** 確認したバージョン
o Windows XP Service Pack 3(32bit) + Windows Update 2011年8月版


==
関連ページ:
    ▼Windowsコマンド。ファイルとフォルダー関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > DISKCOPY = フロッピーディスクの内容を別のフロッピーディスクにコピーする。途中に質問あり版
    MOVE = ファイルを移動する
    REN = ファイルやフォルダーの名前を変更する
(2011年8月25日変更。大幅加筆と、/Aの動作解釈誤りを訂正)