チルダを含むファイル名を変更できません

チルダを含むファイル名を変更できません

ZIPファイルには2つのファイルしか入っていません。それらのファイルの名前はAUSWRTX1APE1.TXT(1)AUSWRT~1.TXT(2)です。

問題は、両方のファイルを同じ(新しい空の)フォルダに抽出できないことです。Windowsはファイル名が既に存在すると警告します。

この動作を再現するには、新しいテキスト ファイルを作成し、 という名前を付けますAUSWRTX1APE1.TXT。次に、同じ場所に 2 番目のテキスト ファイルを作成し、 という名前を付けますAUSWRT~1.TXT。Windows ではこれは実行されません。

チルダ文字と古い Windows 8.3 の短縮名が問題なのでしょうか?

より正確なタイトルをお持ちの方は、お気軽に質問の名前を変更してください。

答え1

はい、古い DOS の短い名前が問題の原因です。NTFS は互換性の理由から、長いファイル名に加えて短い名前を保存します。

解凍する前に zip ファイル内のAUSWRT~1.TXTの名前を変更するか、ファイル名の先頭 ( )を変更することができます。AUSWRT~2.TXTAUSWRTAUSWRTX1APE1.TXT

別の可能性としては、NTFS 互換モードを無効にすることですが、お勧めしません。

コメントへの返信の編集:

私の知る限り、~ は、"xxxxxxxxx.xxx" (12) 文字より長いファイル名を使用できなかった FAT16 との互換性から継承されています。FAT32 で長いファイル名が作成されると、MSDOS では xxxxxx~1.xxx と表示されます。ここで、~1 は ~ + ファイル名の最初の 6 文字の出現回数です。

短縮名を作成するためのルールは非常に複雑です。ファイル名の拡張子に依存し、古​​い DOS ベースの Windows と NT ベースの Windows ではルールが異なることに留意してください。

関連情報