ファイルを削除できません。名前が長すぎます

ファイルを削除できません。名前が長すぎます

この質問は以前にも行われましたが、残念ながらどの提案も機能しませんでした。

状況は次のとおりです。ファイルは、Google ドライブからコンピューターの /users フォルダー内のローカル フォルダーに同期されます。これは PDF です (どこかに保存された領収書のように見えます)。名前が 255 文字を超えているため、Windows が混乱します。

ファイルが行わないこと

  • 開ける
  • コピー
  • 名前を変更
  • 動く
  • ペースト
  • プロパティを表示

実際のところ、同じエラー以外に、ファイルから何らかの応答が返されることはまったくありません。

試した解決策:

  • dir /x--短縮名がリストされていない場合は、通常の名前が繰り返されます。
  • FileBoss、Explorer++、7zip の使用
  • rmdir /S /Q <dir>ユーザーフォルダ内にあるため、実際には機能しません...

誰かが試してみたいアイデアを持っているなら、私はそれを受け入れます。

編集 - この場合、ファイル名自体が 255 文字を超えています。ファイル パスに問題はないため、ファイル名がネストされているディレクトリを変更しても問題は解決しません (この問題自体により、他の多くの解決策が排除されます)。

答え1

私はLinux ライブ ディスクWindows ドライブをマウントし、Linux/Unix を使用して削除します。

必要となる主なコマンドは次の通りだと思います:

mount -t ntfs-3g /dev/sdX# /mnt
cd /mnt/Users/You
rm -f further/loc/away.filename

fdisk -l(注: Windows パーティションを見つけるには実行する必要がある場合があります)

そうすれば、そこにたどり着けるはずです。私も、ある時点でそうしなければなりませんでした。

答え2

Windowsでは、7zファイル処理に Unicode バージョンの API を使用するファイル マネージャーまたはその他のエクスプローラーのようなアプリケーション。重複さらに詳しい情報:

1) この問題の技術的背景: MAX_PATH制限((4)も参照)。

2) プログラマーレベルでこの制限を克服する方法。

3) ユーザー レベルでこの制限を克服する方法。

(3) は回避策に過ぎないことにご注意ください。プログラミングにはまったく適していません。最悪なのは、Microsoft の開発者が API を混在させているため、互換性のない API を 1 回呼び出すだけで、完全に UNC パス互換のアプリケーションが 260-MaxPath-StoneAge に戻ってしまう可能性があることです ((2) を参照)。冒険者そしてその他の製品(cmd と powershell を含む) Microsoft は、これまでの経緯により、この問題を克服できない可能性があります (制限をなくすためのリンクの下の投票は無視されるか、拒否されます)。

使用例やバージョンによって制限は異なるようです。Windows 8 エクスプローラーは約 4 倍長いパスを処理できるようです (4) 一方、Windows 7以降では、ごみ箱に移動できるファイルパスの最長が259から215に減少しました (5)。Windows NTでゼロから始めたプログラマーがなぜ動的割り当てを実装しなかったのかは謎のままです。非Unicode APIを使用した今日の状況へのアプローチについて説明します。ここコピー)。

SO ネットワークのプログラミングと UNC パスに関連するその他のトピック:

6Java の UNC パスと JVM レベルでのその実現。

78ネットワークにおける UNC パス。

この制限が本当に迷惑なケースに遭遇しました:

  • ソースコード階層の整理:ノードJS

  • 深くネストされたフォルダ構造内のファイルのバックアップ

  • 文書の命名規則(例:要約、著者、タイトル、DOI などの長い説明を持つ論文を、迅速な検索のために名前を付ける)

  • Linux(この制限はありません)とWindows間でファイルを共有する

答え3

ファイルの所有権を取得して、削除できるかどうか確認してみるとよいでしょう。これを行うには、ファイルを右クリックして、[プロパティ] -> [セキュリティ] -> [詳細設定] -> [所有者] -> [編集] の順に選択し、所有者をユーザー名 (または Administrators グループ) に変更します。

詳細については、これ外。

答え4

ファイルが Google ドライブから取得された場合、Google ドライブへのインターフェース (Web、Android など) のいずれかを使用して削除するか、そこで名前を変更してみてはいかがでしょうか。

関連情報