- ベストアンサー
windows7でのファイルの並びについてです。
windows7でのファイルの並びについてです。 「0001」と「001」という名前のついた2つのファイルがあり、これの間にファイルを作りたい場合、どのような名前にすればよいでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
初心者がよく経験するWindowsファイル名並び順の「ワナ」に引っかかっているようです。 結論としては「Windowsのデフォルト設定では、まず文字列で比較を行うが、 「数字列を含むファイル名の並び順は「数値部分のみ」で比較する」ということなのです。 --- つまり数字列「0001」(数値部分は 1 )と「001」(数値部分は 1 )の数値部分は(1)ですので同じ数値となります。 今回の場合はまず文字列で比較すると「0001」(1) <「001」(1)になります。 次に数値部分を比較すると「0001」(1) =「001」(1) ですので同じです。 したがって全体で比較すると「0001」(1) <「001」(1) になります。 --- もしも「0001」(1)、「0002」(2)、「001」(1) を参加させると 文字列では「0001」(1) < 「0002」(2) < 「001」(1)となります。 しかし数値部分で比較すると「0001」(1) =「001」(1) <「0002」(2) となります。 したがって全体で比較すると 「0001」(1)、「001」(1)、「0002」(2) となります。 --- 今回の結論は「数字列だけでファイル名を付ける場合は「0001」と「001」の間に割り込ませることはできない」 ということになります。 文字列を含ませてもいい場合は「0001」、「0001a」、「0001b」、「001」のようにすればいいです。 ※添付画像「1」参照。 「00011」などを割り込ませようとしてもダメです。 上記で説明したように「00011」(数値部分は 11)ですので、 「0001」(1)、「001」(1)、「00011」(11) の順になってしまいます。 添付画像「2」参照 --- 上記に「Windowsのデフォルト設定では、」と書きましたが、 デフォルトではない並べ方があります。 レジストリで変更すると「いわゆる普通の「文字列並び順」になります。 キーが存在しない場合は「追加」してください。 再ログオン後から反映されます。(再起動する必要はありません) 添付画像「3」参照 キー: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 名前:NoStrCmpLogical データ:1 (デフォルトでは 0 になっている) ---マイクロソフトの説明を参照してください。 Win7,Win8でも同じです。 名前に数字が含まれるファイルやフォルダの並べ替え順序が Windows XP と Windows 2000 で異なる http://support.microsoft.com/kb/319827
その他の回答 (3)
- fenglu
- ベストアンサー率43% (317/735)
No.2です。 先ほど回答したときはこちらの環境が名前順になっていなかったため誤った回答をしてしまいました。 「0001と001の間にファイルを追加したい、でもそのファイルがいくつになるか分からないし、もしかしたら100を超えるかもしれない」というのであれば、 「001#○○(○○の部分は数字)」という名前にすればいいです。 No.3の方が言うとおり、数字は文字としての「数字」ではなくものを数える「数」として並び替えられるので、 ○○の部分の頭に0を追加して桁数を合わせる必要はありません。
- fenglu
- ベストアンサー率43% (317/735)
0001.5
- dada4533
- ベストアンサー率36% (391/1084)
ファイルの名前を付け直したら。 ファイルを名前の変更で 0001 01 間に入るファイルを 02 001 03