2013-02-27 23 views
5

Python kullanıyorum ama aynı sorun C# 'da var.Windows: Bir dosyayı uzun bir yolla geri dönüşüm kutusuna nasıl taşıyabilirim?

Genişletilmiş yolları destekleyebilmeyi isterim (len> 260 olan yolları //?/C:/blah/blah gibi). Dosyaları geri dönüşüm kutusuna taşımak için standart bir yol SHFileOperationW veya SHFileOperation üzerinden görünüyor.

Python'da xplatform kütüphanesi, move2trash, SHFileOperationW kullanır. C# 'daki birkaç makale aynı şeyi kullanmak için söylüyor.

SHFileOperationW ile ilgili sorun, genişletilmiş yolları desteklememesidir. Bu SH araçlarının genel bir sınırlamasıdır.

Geri dönüşüm kutusu ve genişletilmiş yollarla ilgili herhangi bir hile var mı?

referans bağlantıları: Bazı C# çözümlere bir göz atmak isterseniz C# version, "PathTooLongException" için Python version

+1

Bu stackoverflow sorusunu yeni buldum, http://stackoverflow.com/questions/11737109/how-can-i-delete-a-folder-or-file-with-path-too-long-in-recycle- çöp Kutusu. Cevabı tutup tutmadığını araştırmak. – greenhat

+0

Bu Windows içindir, değil mi? – EOL

+0

Aslında Win32API kullanan herhangi bir dil için aynı sorun var. (Bunun ışığında, rastgele dil etiketleri yerine [tag: language-agnostic] kullanmak daha iyi olabilir.) – millimoose

cevap

0

bir hızlı arama bu konuda Yığın taşması epeyce tartışmalar ortaya çıkıyor. "Kısa adı" almanız ve onu taşımak için kullanmanız mümkün olabilir. Ayrıca, bu C# kitaplığında bu sorunu nasıl ele aldığınızı görebilir ve http://bcl.codeplex.com/wikipage?title=Long%20Path

0

adresinde bulabilirsiniz. Geri dönüşüm kutusu içine, 259 karakterden uzun bir dosya koymak mümkün değildir.

+1

Bunun gerçekten doğru olduğunu sanmıyorum, çünkü Vista'nın Explorer'da kesinlikle yapabilirsiniz. IIRC, bu yol, Explorer'da dosyayı ilk sırada görebilmenizi sağlayan aynı yol-sıkma hilelerini kullanmaktır. – abarnert

İlgili konular