【问题标题】:How to send a file to the recycle bin in Unity3D如何将文件发送到 Unity3D 中的回收站
【发布时间】:2018-07-31 07:03:22
【问题描述】:

Send a File to the Recycle Bin 是明显的搜索结果。我已经尝试过提供的包装器,但是在引入 Unity 时出现错误,IntPtr 无法为初学者编译。我还导入了Microsoft.VisualBasic,它依赖于System.Deployment 到我的项目中并且成功调用

Debug.Log(Microsoft.VisualBasic.FileIO.FileSystem.FileExists(path + "\\test.txt"));
Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(path + "\\test.txt", UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

但它只是删除文件,它不会进入回收站。 Unity运行在C盘,项目也在C盘。我试过文件和文件夹,也试过RecycleOption.DeletePermanently,它确实可以通过调试识别文件和文件夹,但回收站中没有任何显示。

【问题讨论】:

    标签: unity3d file-io recycle-bin


    【解决方案1】:

    我找到了解决这个问题的最简单方法,就是在项目中添加一个回收站。

    由于 Unity 支持的文件名和路径长度比“Windows 资源管理器”长,它不会将项目发送到回收站,因为回收站将无法容纳它们。

    这是一个 Win32 API 限制。

    如果您的 Unity 回收站中有两个同名文件,请创建另一个回收站或子回收站。

    不是一个方便的解决方案,但它有效!

    我个人解决这个问题的方法是,我会随时保留项目的版本。然后我可以回到我项目的任何以前的版本。

    【讨论】:

      【解决方案2】:

      Send a File to the Recycle Bin 确实是要走的路。我发现很简单

      using System;
      

      在我尝试使用 FileOperationAPIWrapper 脚本时丢失了。从那以后,我一直使用它成功地将文件移动到回收站。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-18
        • 1970-01-01
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多