2014年4月19日土曜日

PC 8.3 形式 と robocopy

ちょっと気になっていたのが、ファイルの 8.3 形式名についてです。
長い名前がサポートされるようになった今も、短縮形の 8.3 形式 が別名として、用意されています。
では、折角、長い名前で分かり易く命名しても、それを別フォルダーにコピーする際に問題はないのか。
もし、コピー先に、同一の 短縮形の 8.3 形式 名 が存在していたら、どうなるのか。


結論から書けば、基本的には、基本的にはです、 問題はなさそう です。
但し、大きなフォルダに、綿々と、ファイルを追加して行った場合は、分かりません。 恐らく ... 何か起こるのでは ... 。


さて、
通常のコピーでは心配していないのですが、サーバーバックアップを主目的として開発された robocopy で、どうなのか。
タイムスタンプや属性まで複製するこのユーティリティは、ファイルの 8.3 形式名 まで、コピー先に持ち込んでしまわないのか。
最悪、重複するものがあった場合、上書きしたり しないのか。
そんな不安が、頭を過ぎったのです。

兎も角、簡単な実験をして見ました。

  1. フォルダをふたつ作ります。
  2. この一方に、同一単語 6 文字から始まるファイルを複数個 作ります。
  3. 一旦、このすべてのファイルを別フォルダに robocopy でコピーします。
  4. 元ファイルの一部を消して、前と同じ様に別ファイルを 作ります。
  5. この状態では、ファイル名が異なり 8.3 形式 で同じ名前のファイルが、双方のフォルダ内に存在する筈です。
  6. もう一度、このすべてのファイルを別フォルダに robocopy でコピーします。
  7. さて、重複する筈の 8.3 形式 はどうなるか です。

文章では良く分らないと思いますので、画面の表示で。   2. から 行きます。
    部、削除しています。 ¥ が \ に化けています。 改行もそのままです。一部 色を変えています。

2. 複数のファイル名と 8.3 形式 名です。  メモ帳で簡単なテキストファイルを作っています。
c:\Users\xxxx\ShortFileNameTest1>dir /x
 c:\Users\xxxx\ShortFileNameTest1 のディレクトリ
2014/04/12  18:32    <DIR>                       .
2014/04/12  18:32    <DIR>                       ..
2014/04/12  18:31                 4 SHORTF~1.TXT ShortFileNameTest1_aaa.txt
2014/04/12  18:31                 3 SHORTF~2.TXT ShortFileNameTest1_bbb.txt
2014/04/12  18:32                 3 SHORTF~3.TXT ShortFileNameTest1_ccc.txt
2014/04/12  18:32                 3 SHORTF~4.TXT ShortFileNameTest1_ddd.txt
2014/04/12  18:32                 3 SHAC15~1.TXT ShortFileNameTest1_eee.txt
               5 個のファイル                  16 バイト
               2 個のディレクトリ  48,055,898,112 バイトの空き領域
3. robocopy 実行です。
c:\Users\xxxx\ShortFileNameTest1>robocopy C:\Users\xxxx\Shor
tFileNameTest1 C:\Users\xxxx\ShortFileNameTest2
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
  開始: Sat Apr 12 18:36:17 2014
   コピー元 : C:\Users\xxxx\ShortFileNameTest1\
     コピー先 : C:\Users\xxxx\ShortFileNameTest2\
    ファイル: *.*
  オプション: *.* /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
                           5    C:\Users\xxxx\ShortFileNameTest1\
            新しいファイル                     4        ShortFileNameTest1_aaa.t
100%
            新しいファイル                     3        ShortFileNameTest1_bbb.t
100%
            新しいファイル                     3        ShortFileNameTest1_ccc.t
100%
            新しいファイル                     3        ShortFileNameTest1_ddd.t
100%
            新しいファイル                     3        ShortFileNameTest1_eee.t
100%
------------------------------------------------------------------------------
                  合計     コピー済み      スキップ       不一致        失敗
Extras
   ディレクトリ:         1         0         1         0         0         0
     ファイル:         5         5         0         0         0         0
      バイト:        16        16         0         0         0         0
       時刻:   0:00:00   0:00:00                       0:00:00   0:00:00
       終了: Sat Apr 12 18:36:17 2014

4. ~ 5. 削除後に追加したファイルです。 削除した為、8.3 形式 名 が以前のものと重複しています。
                           SHORTF~2.TXT で 前の 2. 参照。 ShortFileNameTest1_bbb.txt と ... _fff.txt 。
c:\Users\xxxx\ShortFileNameTest1>dir /x
 c:\Users\xxxx\ShortFileNameTest1 のディレクトリ
2014/04/12  18:37    <DIR>                       .
2014/04/12  18:37    <DIR>                       ..
2014/04/12  18:31                 4 SHORTF~1.TXT ShortFileNameTest1_aaa.txt
2014/04/12  18:37                 3 SHORTF~2.TXT ShortFileNameTest1_fff.txt
               2 個のファイル                   7 バイト
               2 個のディレクトリ  48,055,898,112 バイトの空き領域
6. robocopy 実行です。
c:\Users\xxxx\ShortFileNameTest1>robocopy C:\Users\xxxx\Shor
tFileNameTest1 C:\Users\xxxx\ShortFileNameTest2
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
  開始: Sat Apr 12 18:37:38 2014
   コピー元 : C:\Users\xxxx\ShortFileNameTest1\
     コピー先 : C:\Users\xxxx\ShortFileNameTest2\
    ファイル: *.*
  オプション: *.* /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
                           2    C:\Users\xxxx\ShortFileNameTest1\
          *EXTRA File                  3        ShortFileNameTest1_bbb.txt
          *EXTRA File                  3        ShortFileNameTest1_ccc.txt
          *EXTRA File                  3        ShortFileNameTest1_ddd.txt
          *EXTRA File                  3        ShortFileNameTest1_eee.txt
            新しいファイル                     3        ShortFileNameTest1_fff.t
100%
------------------------------------------------------------------------------
                  合計     コピー済み      スキップ       不一致        失敗
Extras
   ディレクトリ:         1         0         1         0         0         0
     ファイル:         2         1         1         0         0         4
      バイト:         7         3         4         0         0        12
       時刻:   0:00:00   0:00:00                       0:00:00   0:00:00
       終了: Sat Apr 12 18:37:38 2014
7. 追加分を含め、最終的な 8.3 形式 名 を見ると、コピー後に新たに振り直されているのが分ります。 追加の SHORTF~2.TXT が別名に。元名は一緒。
c:\Users\xxxx\ShortFileNameTest2>dir /x
 c:\Users\xxxx\ShortFileNameTest2 のディレクトリ
2014/04/12  18:37    <DIR>                       .
2014/04/12  18:37    <DIR>                       ..
2014/04/12  18:31                 4 SHORTF~1.TXT ShortFileNameTest1_aaa.txt
2014/04/12  18:31                 3 SHORTF~2.TXT ShortFileNameTest1_bbb.txt  <
2014/04/12  18:32                 3 SHORTF~3.TXT ShortFileNameTest1_ccc.txt
2014/04/12  18:32                 3 SHORTF~4.TXT ShortFileNameTest1_ddd.txt
2014/04/12  18:32                 3 SHAC15~1.TXT ShortFileNameTest1_eee.txt
2014/04/12  18:37                 3 SHEE79~1.TXT ShortFileNameTest1_fff.txt    <
               6 個のファイル                  19 バイト
               2 個のディレクトリ  48,055,898,112 バイトの空き領域

この様に、robocopy の標準状態では、長い名称を元に操作をしている様で、
重複する筈の 8.3 形式 名 があっても、ちゃんと、振り直してくれているのが分かります。

ファイルに対し、フォルダを移動させると、必ずしも 8.3 名は同一にならない とも言えますね。 通常は配慮は不要でしょうけど。



但し、先にも書きました様に、名前の制限を解除した現在のファイルシステム上で、
フォルダ内のファイルの数が膨大になる場合には、何か起こり得ると考えておいた方が良さそうです。   根拠はありませんが



[2014/04/21] ラベル落ち、ラベルを設定。

0 件のコメント:

コメントを投稿