none
发现一个会导致文件丢失的情况 RRS feed

  • 问题

  • 假设你有一个文件为:测试.xls,该文件位于 D:\测试.xls ,同时另外一个同名文件位于移动硬盘 K:\测试.xls 这里。

    当你用Excel打开 D:\测试.xls 文件,如果你没有关闭(比如忘记关闭)Excel程序。

    这时你用剪切的操作,要把 D:\测试.xls 转移并覆盖 K:\测试.xls ;这时必然会提示 D:\测试.xls 被占用,无法转移文件。

    OK,问题在这里:这时如果你在提示对话框上选择“取消”,则 K:\测试.xls 被删除!而且不会在回收站中。

    2011年2月17日 14:40

答案

  • 假设你有一个文件为:测试.xls,该文件位于 D:\测试.xls ,同时另外一个同名文件位于移动硬盘 K:\测试.xls 这里。

    当你用Excel打开 D:\测试.xls 文件,如果你没有关闭(比如忘记关闭)Excel程序。

    这时你用剪切的操作,要把 D:\测试.xls 转移并覆盖 K:\测试.xls ;这时必然会提示 D:\测试.xls 被占用,无法转移文件。

    OK,问题在这里:这时如果你在提示对话框上选择“取消”,则 K:\测试.xls 被删除!而且不会在回收站中。


    1 USB随身碟或者移动硬碟可能被识别为   a 可移动存储装置   b 硬碟     (在韧体中设置,一般状况下用户无法修改)

    2 在可移动存储装置里删除默认直接删除, 在硬碟里删除默认到回收站。 (准确说,前者没有回收站机制,root下不会有隐藏系统档)

    3 剪切的动作为  a 复制对象到目的地   b 复制源删除

    4 剪切或复制操作的“取消”为:   把写上的文件删除。

    所以,在你“要把 D:\测试.xls 转移并覆盖”时,一旦已经覆盖,则确认了取消动作将会是“删除”;
    而“提示 D:\测试.xls 被占用,无法转移文件”只是告诉你D槽的文件无法删除,也就是剪切的扫尾工作无法完成。

    总结,不是bug,但这个应用特性如果困扰到你,你需要理解上述原因并避免重复发生类似问题。

    P.S.
    D槽至少没有删除,你还是可以再复制一遍。
    什么? D槽下的不是最新? K槽才对?!     
    呐,这是你要当心的了,bug它自己撇清关系。

     

    p.s.

    好了,你可以用一些资料修复软体把删除的K槽文件恢复。
    只要发生问题后你没有再反复使用K。

    2011年2月17日 16:45

全部回复

  • 假设你有一个文件为:测试.xls,该文件位于 D:\测试.xls ,同时另外一个同名文件位于移动硬盘 K:\测试.xls 这里。

    当你用Excel打开 D:\测试.xls 文件,如果你没有关闭(比如忘记关闭)Excel程序。

    这时你用剪切的操作,要把 D:\测试.xls 转移并覆盖 K:\测试.xls ;这时必然会提示 D:\测试.xls 被占用,无法转移文件。

    OK,问题在这里:这时如果你在提示对话框上选择“取消”,则 K:\测试.xls 被删除!而且不会在回收站中。


    1 USB随身碟或者移动硬碟可能被识别为   a 可移动存储装置   b 硬碟     (在韧体中设置,一般状况下用户无法修改)

    2 在可移动存储装置里删除默认直接删除, 在硬碟里删除默认到回收站。 (准确说,前者没有回收站机制,root下不会有隐藏系统档)

    3 剪切的动作为  a 复制对象到目的地   b 复制源删除

    4 剪切或复制操作的“取消”为:   把写上的文件删除。

    所以,在你“要把 D:\测试.xls 转移并覆盖”时,一旦已经覆盖,则确认了取消动作将会是“删除”;
    而“提示 D:\测试.xls 被占用,无法转移文件”只是告诉你D槽的文件无法删除,也就是剪切的扫尾工作无法完成。

    总结,不是bug,但这个应用特性如果困扰到你,你需要理解上述原因并避免重复发生类似问题。

    P.S.
    D槽至少没有删除,你还是可以再复制一遍。
    什么? D槽下的不是最新? K槽才对?!     
    呐,这是你要当心的了,bug它自己撇清关系。

     

    p.s.

    好了,你可以用一些资料修复软体把删除的K槽文件恢复。
    只要发生问题后你没有再反复使用K。

    2011年2月17日 16:45
  • 既然已經選擇覆蓋卷目標文件, 那麼就表明該文件不再需要, 即便出現先要剪貼的文件被某一進程獨佔, 但是在解除那個進程的獨佔後, 是可以重新進行剪貼.
    當然如果在進行剪貼之前, 先判斷要剪貼的文件是否被進程獨佔, 如果獨佔則提示用戶, 此操作不能成功完成, 那麼體驗度上來說是會更好.

    P.S. 這個情況也出現在 Windows XP.

     


    Folding@Home
    2011年2月18日 2:13
  • 这种情况,正如二楼所说,是最后一步无法进行而进行的取消操作。假若您移动成功,K盘里的文件也会被删除。

    这个问题应该是该功能设计使然,只要理解了执行步骤就可以理解。但技术也应以人为本,如果 D:\测试.xls 无法删除时,保留已经复制到K盘中的文件,应该会更让人接受一些。


    我的技术博客:blog.wbpluto.com
    2011年2月18日 6:25