web-dev-qa-db-ja.com

Windows7で不可能なファイル名の名前変更/削除

'不可能なファイル名'のファイルがいくつかあります。私は特殊文字や何かについて話しているのではありませんが、本当に不可能なものです。 (ファイルシステムNTFS)

1つのファイルはimages\receipt.jpgと呼ばれます(はい、これはちょうどファイル名であり、パス+ファイル名ではありません)

もう1つは..\..\data\と呼ばれます

もう1つは"\n"と呼ばれます(ここに表示されるようにエスケープされた単一の改行)

これらは、Windowsマインドでファイルを保存/移動したときにUbuntuによって作成されます(3番目のファイルがどのように作成されるかはわかりません)。 LinuxやライブCDはもう持っていません。

以前に尋ねた質問ですべての提案を試しましたが、2年前から何か新しいことが可能かもしれません。

CHKDSK /F /Xが機能しない

8.3ファイル名の使用は機能しません(これらのファイルには8.3ファイル名はありません)

RENが機能しない

RD /Sが機能しない

7-Zipが機能しない

分析中にこれらのファイルに遭遇するとデフラグツールがトリップするため、ディスクをデフラグすることすらできません。

独自の名前変更関数をプログラミングしようとしましたが、低レベルのシステムコールがないと(kernel32 defrag apiが思い浮かびますが、試すには危険すぎます)、パス要素を「\」文字で並べ替え続けるため、「」が見つかりません。フォルダー~~/"images /"などのreceive.jpg ".

名前を変更/削除するために使用できるプログラムはありますか?おそらく、16進エディタのようにセクターを「編集」できるPCTools(20yo DOSプログラム)のようなものですか?

6
Mark Jeronimus

デフォルトでは、NTFSファイルシステムの下のすべてのファイルとディレクトリには、長いファイル名と短いファイル名の2つの名前があります。短いファイル名は 8.3命名規則 に従い、コマンドプロンプトを使用してこれらのファイルを削除するために使用できる場合があります。例えば:

C:\>del C:\example\IMAGES~1.JPG

このコマンドdir /X(大文字のX)を発行すると、ファイルの短い名前を知ることができます。

短いファイル名はNTFSのオプション機能であるため、これらのファイルに短い名前がない可能性があります。その場合、ファイルのパスの拡張長パス形式を使用してそれを行うことができる場合があります。これを行うには、ファイルのフルパスの前に\\?\を付け、引用符で囲みます。

C:\>del "\\?\C:\Example\images\receipt.jpg"

他のすべてが失敗した場合は、別のLinux Live CDに移動してダウンロードし、そこから削除します。 Ubuntuのダウンロードが大きすぎる場合は 小さいディストリビューション が利用可能です。

3
Andrew Lambert

FreeCommander を試してください。 (このフォーラムスレッド経由: (解決済み)-ALT + 255の後に名前を変更するのに役立ちます

また、 そうでなければ無効なファイル名文字を入力するためのALTキートリック が機能する可能性があります:

  • 押し続ける Alt ASCII文字のコード番号を入力して、その文字を入力します。
  • たとえば、長押しします Alt テンキーに092と入力して、\を挿入します。 \nを挿入する013
  • 0092や0013のような4桁の数字を使用する必要があるかもしれません...

個人的には、簡単なLiveLinux USBを作成し、そこから修正します。 Linuxが使えない理由はありますか?

0
Leftium