文件共享服务器上的0KB PowerPoint文件:标识/删除

时间:2018-08-03 23:23:15

标签: windows powershell powerpoint file-manipulation

我将Windows 7与VPN(Cisco AnyConnect)连接使用到学术文件共享服务器。我将PowerPoint文件从本地路径复制到服务器,然后在不再需要它时尝试在服务器上删除该文件。

它现在显示为0KB文件,除了将其以只读方式打开之外,我无法再对其执行任何操作。当我以只读方式打开它时,收到提示“ Unknown正在处理\ server \ share_pathtofile。您是否要同时打开只读副本?”,并且该文件为空(无幻灯片,设置)等)。这里的“ server_pathtofile”是问题文件的完整路径。我肯定没有其他用户正在从另一台计算机访问该文件。

我尝试使用相同的文件名通过另存为覆盖它。单击“保存”后,保存窗口将关闭并重新打开,而不执行任何操作。如果我继续单击“保存”,则会无限期发生。我可以在服务器上保存一个具有不同名称的文件,然后删除具有其他名称的文件而不会出现问题。

我尝试通过笔记本电脑上使用的Anaconda Spyder发行版使用python删除问题文件。

import os

path = r"\\server\share"
file = r"\file.pptx"
#file = r"\test2.txt"
f = path + file
os.remove(f)

当我为故障文件运行它时,它会产生错误:

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: '\\\\server\share_pathtofile'

我研究了shutil函数,但是认为它不会再有用了。我怀疑PowerPoint文件的进程句柄已以某种方式损坏。我想尝试使用Windows直接通过Powershell执行操作:

Remove-Item 'file.pptx'

但收到类似的错误:

Remove-Item : Cannot remove item \\server\share_pathtofile: The process cannot access the file '\\server\share_pathtofile' because it is being used by another
process.
At line:1 char:12
+ Remove-Item <<<<  'file.pptx'
    + CategoryInfo          : WriteError: (\\server...file.pptx:FileInfo) [Remove-Item], IOException
    + FullyQualifiedErrorId : RemoveFileSystemItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand

更新1:通过cmd.exe删除后,我厌倦了postanote的建议

pushd \\server\share
del /f "file.pptx"

The process cannot access the file because it is being used by another process.

我本以为我包括删除文件的powershell尝试,将使这种方法成为显而易见的死胡同。我是否应该尝试查找告诉Windows文件仍处于打开状态的所谓进程?

此外,我能够通过第二个ppt文件和一个Excel文件重现相同的问题。它们不是0KB,但在打开时会出现相同的提示:“其他人正在处理它们,您可以只读”。

我正在文件共享的同一文件夹目录中复制文件。我与服务器的连接以某种方式中断,因为Windows资源管理器提示我说可以找到与服务器共享的连接。关闭提示后,Windows资源管理器进行了意外刷新,映射的驱动器正常运行(无需重新映射就可以导航它),然后突然我又有了两个问题文件。

它肯定没有打开Windows资源管理器预览窗格,我从未使用过该资源管理器功能。有任何想法吗?我们不应该让这个文件赢...

1 个答案:

答案 0 :(得分:0)

PE将仅查看其启动过程。就像任务管理器一样,如果您不通过某个进程(PowerPoint.exe)访问文件,或者知道在共享文件方案中没有其他人将其锁定,则可以对其进行操作。

这不是PS特有的问题(实际上不是PS问题),也不是与进程浏览器相关的任何事情,与服务器/工作站上的管理员无关。如果您对系统/文件共享具有读/写/修改/删除权限,则当然可以对该文件执行操作。

这是Windows固有的问题。我已经多次看到(并且发生了这种情况)这个零长度文件(取决于创建/复制的方式),并且似乎无法删除。

这里的交易,通常是Windows资源管理器中的此类文件甚至都不允许您通过重命名来缩短名称。因此,名字长度,奇数字符等通常是罪魁祸首

因此,您需要使用cmd.exe并使用短DOS名称删除该文件。只需在文件要获取的短名称的位置上执行一个dir并将其删除。

dir /X