How to Move files to the recycle bin

2019-06-15 14:03发布

问题:

I need to Move a file to recycle bin in .net 2003

I added microsft.visualbasic.runtime dll from refrence, but I could not able to get filesystem.deletedirectory, So what to do..Can any one help me?

回答1:

I found this, don't know if it works, but it's worth a shot.

using Microsoft.VisualBasic;

string path = @"c:\myfile.txt";
FileIO.FileSystem.DeleteDirectory(path, FileIO.UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

EDIT: Wise words from Nifle: Just remember to add a reference to Microsoft.VisualBasic.dll



回答2:

Basically, between the reference at the top and actually calling the method you need the full name (after adding the library of course)

You can either fully call it:

Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(
    path,
    FileIO.UIOption.OnlyErrorDialogs,
    RecycleOption.SendToRecycleBin);

OR you can add the reference to the top with the others:

using Microsoft.VisualBasic.FileIO

and then

FilesSystem.DeleteDirectory( etc );


回答3:

This might help you. Looks like you need to either add a reference to Microsoft.VisualBasic.dll or use P/Invoke.



回答4:

Have you got a

using Microsoft.VisualBasic.FileIO;

at the top of your page?



回答5:

Using

FileIO.FileSystem.DeleteDirectory(path, FileIO.UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

needs: 00:00:00.4036573 to delete one file. Using

[DllImport("shell32.dll", CharSet = CharSet.Auto)]
private static extern int SHFileOperation(ref SHFILEOPSTRUCT FileOp);

only needs: 00:00:00.1107684 to delete one file.

An implementation can be found there: Send a File to the Recycle Bin