windows - 0KB PowerPoint-fil på File Share Server: identificere/slette

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger Windows 7 med en VPN-forbindelse (Cisco AnyConnect) til en akademisk file share server. Jeg kopierede en PowerPoint-fil fra en lokal sti til serveren og forsøgte at slette filen på serveren, efter at den ikke længere behøvede det.


Det vises nu som en 0KB-fil, og jeg kan ikke længere udføre nogen handlinger på det, undtagen at åbne den som skrivebeskyttet. Når jeg åbner den som skrivebeskyttet, modtager jeg spørgsmålet 'Ukendt arbejder på \ server \ share\_pathtofile. Vil du åbne en skrivebeskyttet kopi i mellemtiden?', Og filen er tom (ingen dias, indstillinger , etc). Her 'server\_pathtofile' er hele stien til problemfilen. Jeg er positiv ingen anden bruger får adgang til filen fra en anden maskine.


Jeg har forsøgt at overskrive det ved Save As, ved at bruge det samme filnavn. Når jeg klikker på Gem, lukkes vinduet Gem og genåbnes uden at gøre noget. Dette sker på ubestemt tid, hvis jeg fortsætter med at klikke på Gem. Jeg kan gemme filen med et andet navn på serveren, og slet filen med et andet navn uden problem.


Jeg forsøgte at fjerne problemfil ved hjælp af python gennem Anaconda Spyder distroen, jeg bruger på min bærbare computer.


import os

path = r"\servershare"
file = r"file.pptx"
#file = r"	est2.txt"
f = path + file
os.remove(f)


Når jeg kører det til problemfilen, producerer den fejlen:


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


Jeg kigger i skælfangsfunktionen, men tror ikke, at det vil være mere nyttigt. Jeg formoder, at proceshåndtaget til PowerPoint-filen er blevet beskadiget på en eller anden måde. Jeg troede at forsøge at bruge Windows til at udføre handlingen direkte gennem Powershell:


Remove-Item 'file.pptx'


Men fik en lignende fejl:


Remove-Item : Cannot remove item \servershare\_pathtofile: The process cannot access the file '\servershare\_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


OPDATERING 1: Jeg træt postanot s forslag ved at slette gennem cmd.exe


pushd \servershare
del /f "file.pptx"

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


Jeg ville have troet, at min optagelse af powerhell forsøg på at fjerne filen ville have gjort denne tilgang til en åbenbar blindgyde. Shoudln Jeg forsøger at finde den såkaldte proces, der fortæller Windows, filen er stadig åben?


Jeg kunne også reproducere det samme problem med en anden ppt-fil og en Excel-fil. De er ikke 0KB, men ved åbningen får jeg den samme form for prompt: 'En anden arbejder på dem, og du kan skrivebeskyttet'.


Jeg lagde kopier af filen i samme mappekatalog for filens del. Min forbindelse til serveren blev afbrudt på en eller anden måde, da Windows Explorer foreslog mig at sige, at forbindelsen til serverdeling kunne findes. Når du afsluttede prompten, gjorde Windows Stifinder en uventet opdatering, det kortlagte drev var fint (jeg kunne navigere det uden at skulle ombygge det), så pludselig havde jeg yderligere to problemfiler.


Det er bestemt ikke at have Windows Explorer-forhåndsvisningspanelet åbent, jeg har aldrig brugt denne Explorer-funktion. Nogle ideer? Vi bør ikke lade denne fil vinde ...

Bedste reference


PE vil kun se på processen, hvor den blev startet. Ligesom Task Manager, og hvis du ikke har adgang til filen via en eller anden proces (PowerPoint.exe) eller ved det i et delt filscenario, har ingen andre det låst, så du kan gøre noget ved det.


Dette er ikke et PS-specifikt problem (så ikke rigtig et PS-spørgsmål) eller noget der relaterer til procesforsker og intet at gøre med admin på en server/arbejdsstation. Hvis du har læst/skriv/ændrer/sletter tilladelser på en system/fil-del, kan du selvfølgelig handle på den pågældende fil.


Det er et Windows korrekt problem. Jeg har set (og havde dette sket) disse nullængdefiler (afhængigt af hvordan de blev oprettet/kopieret) mere end én gang, og de virker som umulige at slette.


Overenskomsten her, vil ofte Windows Explorer til sådanne filer ikke tillade dig at forkorte navnet via en omdøbsindsats. Så navnelængde, ulige tegn osv. Er ofte skyldige (r)


Så du skal bruge cmd.exe og slette filen ved hjælp af det korte DOS-navn. Bare gør en dir på det sted, hvor filen er at få det korte navn og slet det.


dir /X