2013-02-27 6 views
5

私はPythonを使用していますが、同じ問題がC#に存在すると思います。Windows:長いパスのファイルをごみ箱に移動するにはどうすればよいですか?

私は拡張パス(len> 260のパスは//?/ c:/ blah/blahのように表示されます)をサポートしたいと考えています。ごみ箱にファイルを移動する標準的な方法は、SHFileOperationWまたはSHFileOperationを使用しているようです。

有用なxplatformライブラリmove2trashは、SHFileOperationWを使用します。 C#のいくつかの記事は、同じことを使用すると言います。

SHFileOperationWの問題は、拡張パスをサポートしていないことです。これはSHツールの一般的な制限です。

ごみ箱と拡張パスを扱う人はいますか?

参照リンク:C# versionあなたには、いくつかのC#のソリューションを見てしたい場合は、「PathTooLongException」のためのPython version

+1

このstackoverflowに関する質問が見つかりました。http://stackoverflow.com/questions/11737109/how-can-i-delete-a-folder-or-file-with-path-to-long-in-recycle-ビン。それが答えを保持しているかどうかを調査する。 – greenhat

+0

これはWindows用です。 – EOL

+0

Win32APIを実際に使用するすべての言語で同じ問題が発生します。 (その点を考慮すると、ランダムな言語タグの代わりに[タグ:言語に依存しない]を使用する方が良いかもしれません) – millimoose

答えて

0

クイック検索は、それについてのスタックオーバーフローのかなりの数の議論をアップになります。 「短い名前」を取得してそれを移動することが可能かもしれません。また、このC#ライブラリで回避方法を使ってどのように処理したのかを見て、見ることができます。http://bcl.codeplex.com/wikipage?title=Long%20Path

0

あなたはそうしていません。パスが259文字より長いごみ箱にファイルを置くことはできません。

+1

私はVistaのエクスプローラで間違いなくそれを行うことができるので、それはかなり真実だとは思わない。 IIRCでは、これは最初の場所でエクスプローラでファイルを見ることができる同じパスを絞るトリックを使用することで動作します。 – abarnert

関連する問題