none
文件名过长无法删除 RRS feed

  • 问题

  • 如题由于病毒或防毒软件产生了一堆.vir文件,且文件名过长如图,尝试过无法右键选择删除或快捷键shift+delete等方式删除,也无法重命名。

    参考图:

    https://nchk-my.sharepoint.com/:i:/g/personal/dino_li_nchk_net/EaxB-pkz8OZBou2hSWcG59UBgrp00WLm16k3xDqPYKV-mQ?e=uPIzsV

    https://nchk-my.sharepoint.com/:i:/g/personal/dino_li_nchk_net/Eb5wqJEWOTlFpHvX402kbZUBolIUSFlPgDSxNHwvvXLNhw?e=6QafcV

    尝试过以下https://social.technet.microsoft.com/Forums/ie/en-US/03882653-42e0-41d1-b3d5-d11609dacf37/cannot-delete-files-file-name-is-too-long 链接的这个方法,挂在共享路径到盘但也无效,如图2:

    This is what I do when I cannot delete a file/s when the file name is too long

    1. Drill down into the folders to the folder that has the problem file in it.
    2. Share the folder that contains the file.
    3. Map a network drive to the folder with the problem file.
    4. Open the mapped drive and delete the file I am have the problem.
    5. Disconnect the map drive
    6. Remove the share

    https://social.technet.microsoft.com/Forums/ie/en-US/03882653-42e0-41d1-b3d5-d11609dacf37/cannot-delete-files-file-name-is-too-long

    请问如何解决?我想手动删除这些文件有什么便捷方法或者工具?

    • 已编辑 Dino Li 2021年1月25日 4:55 补充
    2021年1月25日 4:54

全部回复

  • 您好,

    可以在文件路径加上一个前缀\\?\。比如要删除删除路径D:\files\下面文件名以instsys开头的文件,可以运行一个下面这样的powershell脚本

    $filepath = 'D:\files\'
    $filename = 'instsys*'
    Get-ChildItem -Path $filepath -Name $filename | ForEach-Object{
        $name = '\\?\' + $filepath + $_
        Remove-Item -LiteralPath $name
    }

    如您还有其他疑问,请随时与我们联系。 如果回答是有帮助的, 请将其标记为答案, 可以帮助其他有相同问题的社区成员, 并快速找到有用的答复。

    祝好

    Ian Xue



    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    • 已编辑 Ian Xue 2021年1月26日 2:33
    2021年1月26日 2:26
  • 请参考截图:

    https://nchk-my.sharepoint.com/:i:/g/personal/dino_li_nchk_net/EdYje-fXctBHiq1dpSvvEfUB-xwdH1t9zZDkzHjRqjzZOQ?e=aTm0Lq

    修改路径$filepath = '为我需要的路径'

    运行提示红色错误:

    Remove-Item : Illegal characters in path.
    At C:\Users\administrator.xxxxxx\Desktop\delete vir.ps1:5 char:5
    +     Remove-Item -LiteralPath $name
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Remove-Item], ArgumentException
        + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.RemoveItemCommand

    2021年1月26日 6:53
  • 你好,我尝试另外的路径,PS提示依然是文件名过长:

    Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less 
    than 260 characters, and the directory name must be less than 248 characters.
    At C:\Users\administrator.XXXXX\Desktop\delete vir.ps1:5 char:5
    +     Remove-Item -LiteralPath $name
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : WriteError: (\\?\D:\Group Fo...vir.vir.vir.vir:String) [Remove-Item], PathTooLon 
       gException
        + FullyQualifiedErrorId : RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand

    截图:

    https://nchk-my.sharepoint.com/:i:/g/personal/dino_li_nchk_net/EfBXJbRVhXZEl5-pEL0TmWABTRDkxDHV098BzCsQLz1Z3A?e=NNi0iK

    能否通过修改注册表或者修改组策略哪个项,或新增项后解除系统限制。然后我可以直接删除?

    2021年1月26日 7:15
  • 您好,

    请再尝试下这个方法。这是使用了robocopy

    $path = "D:\files"
    $file = "*vir*"
    robocopy D: $path $file /purge 

    如您还有其他疑问,请随时与我们联系。 如果回答是有帮助的, 请将其标记为答案, 可以帮助其他有相同问题的社区成员, 并快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    • 已编辑 Ian Xue 2021年1月27日 3:07
    2021年1月27日 3:03
  • 您好:

    请问上述回复是否能够解决您的问题?

    如您还有其他疑问,请随时与我们联系。 如果回答是有帮助的, 请将其标记为答案, 可以帮助其他有相同问题的社区成员, 并快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2021年1月28日 5:49