私は定期的にNode.jsを使用して、作成したプログラムの依存関係を管理しています。今日、私はこのようなフォルダー構造になりました:
ファイルを削除しようとすると、次のエラーが発生しました:
ソースファイル名は、ファイルシステムでサポートされている名前よりも大きくなっています。この操作を試みる前に、短いパス名を持つ場所に移動するか、短い名前に変更してみてください。
すでにC:\にあったので、それほど短くなることはありませんでした。
私は定期的にNode.jsを使用して、作成したプログラムの依存関係を管理しています。今日、私はこのようなフォルダー構造になりました:
ファイルを削除しようとすると、次のエラーが発生しました:
ソースファイル名は、ファイルシステムでサポートされている名前よりも大きくなっています。この操作を試みる前に、短いパス名を持つ場所に移動するか、短い名前に変更してみてください。
すでにC:\にあったので、それほど短くなることはありませんでした。
回答:
Microsoftツールを使用しますrobocopy.exe
。
c:\empty
次に、その空のフォルダーを、削除しようとしている長いファイル名を含むフォルダーにコピーしますc:\myannoyingfolder
。コマンドプロンプトで次のようにします。
robocopy / MIR c:\ empty c:\ myannoyingfolder
さて、ツリーを削除したいとしましょう。D:\very\long\path
必ずしもRobocopyなどのツールを使用する必要はありません。
D:\a
D:\very\long\path
D:\a
この機能をWindowsシェルに統合できます。Floの答えに対する私の拡張は、コメントするには長すぎました。
Delete
Windowsコンテキストメニューにコマンドを追加しました。
このdelete.reg
ファイルは、レジストリエントリを追加して、フォルダをrobodelete.bat
バッチファイルに関連付けます。
delete.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Delete]
[HKEY_CLASSES_ROOT\Directory\shell\Delete\command]
"Extended"=""
@="\"D:\\Documents\\robodelete.bat\" \"%1\""
robodelete.bat
mkdir c:\empty
robocopy /MIR c:\empty %1
rmdir %1
rmdir c:\empty
注:必要に応じて、両方のファイルのパスを変更する必要がある場合があります。
警告:このコマンドを元に戻す方法はありません。ごみ箱を使用せず、フォルダを完全に破棄する前にY / Nに確認を求めません!
SuperDeleteオープンソースコマンドラインツール(GitHub)は、他のオプションが失敗した(Windows 10)後に機能しました。
これを行う最良の方法は、robocopyを使用することです。これを個人のブログに記録し、フォローしてください。
http://clintboessen.blogspot.com.au/2014/05/how-to-delete-files-which-exceed-255.html
net use z: c:\path
del z:\*.*
それに応じて微調整します。Z:は、問題のパスをマップする任意のドライブ文字です。その最後の削除コマンドは、マップしたWHOLEディレクトリを消去します-必要に応じてより具体的にしてください。
良い方法は、起動可能なLinuxをペンドライブにインストールし、ライブCD OS から問題なくファイルを削除することです。