Пакетный файл не может удалить файл, который "используется", но файл, кажется, не существует?
У меня есть этот простой пакетный скрипт:
cd "C:\Users\me\AppData\Local\Microsoft\Windows\Temporary Internet Files"
del *.* /f /q
pause
Когда я запускаю его, он говорит мне, что не может удалить \Temporary Internet Files\counters.dat
потому что он используется и выходит. Я могу вручную удалить все содержимое папки, не меняя ничего в отношении того, какие приложения работают. Кроме того, у меня есть скрытые файлы / папки, и я даже не вижу файл counters.dat... Кто-нибудь сталкивался с этим?
1 ответ
Пакетный файл не может удалить файл, который "используется", но файл не существует?
counters.dat
для меня видно:
C:\Users\DavidPostill\AppData\Local\Microsoft\Windows\Temporary Internet Files>dir /a
Volume in drive C has no label.
Volume Serial Number is C8D0-DF1E
Directory of C:\Users\DavidPostill\AppData\Local\Microsoft\Windows\Temporary Internet Files
10/06/2015 21:29 <DIR> .
10/06/2015 21:29 <DIR> ..
08/01/2015 23:31 <DIR> AntiPhishing
11/01/2015 08:28 <DIR> Content.IE5
04/01/2015 16:50 128 counters.dat
10/06/2015 21:29 84 desktop.ini
10/02/2015 12:03 <DIR> gegl-0.2
05/02/2015 23:44 <DIR> inkscape
08/01/2015 23:31 <DIR> Low
29/05/2015 12:16 <DIR> SQM
03/01/2015 17:11 <DIR> Virtualized
2 File(s) 212 bytes
9 Dir(s) 83,685,535,744 bytes free
Его нельзя удалить:
C:\Users\DavidPostill\AppData\Local\Microsoft\Windows\Temporary Internet Files>del counters.dat
C:\Users\DavidPostill\AppData\Local\Microsoft\Windows\Temporary Internet Files\counters.dat
The process cannot access the file because it is being used by another process.
C:\Users\DavidPostill\AppData\Local\Microsoft\Windows\Temporary Internet Files>
С помощью resmon
мы можем видеть, какие процессы используют файл:
Вы не сможете удалить counters.dat
в то время как любые процессы имеют его открытым.
"Почему dir показывает 1 файл и N каталогов, но когда я просматриваю это местоположение в проводнике Windows, я вижу 0 каталогов и 83 файла?"
Windows 7 и 8 создают виртуальные папки для хранения файлов, которые Internet Explorer пытается сохранить в защищенных местах.
Данные фактически записываются в виртуализированную скрытую папку, которая отражает фактический путь и хранится в Temporary Internet Files
папка.
Кажется, что explorer
а также dir
относиться к виртуальным папкам по-разному в том, как они отображаются.
Cygwin ls
может по крайней мере отображать содержимое Content.IE5, который dir
не могу.
DavidPostill@Hal /c/Users/DavidPostill/AppData/Local/Microsoft/Windows/Temporary Internet Files
$ ls -al Content.IE5
total 692
drwxrwx---+ 1 DavidPostill None 0 Jan 11 07:28 .
drwxrwx---+ 1 DavidPostill None 0 Jun 10 21:29 ..
drwxrwx---+ 1 Administrators None 0 Jun 11 13:07 4EIQY12G
drwxrwx---+ 1 DavidPostill None 0 Jan 8 22:31 969NZU3P
drwxrwx---+ 1 Administrators None 0 Jan 10 23:18 97RLMZJM
drwxrwx---+ 1 DavidPostill None 0 Jan 8 22:31 ARML5AYH
-rwxrwx---+ 1 Administrators None 0 Jan 4 15:50 container.dat
drwxrwx---+ 1 Administrators None 0 Jun 11 13:23 DO6HI19N
drwxrwx---+ 1 Administrators None 0 Jan 9 23:28 FQECM0IG
drwxrwx---+ 1 DavidPostill None 0 Jan 8 22:31 HY66GH4K
drwxrwx---+ 1 DavidPostill None 0 Jan 8 22:31 IM8A2PXZ
drwxrwx---+ 1 Administrators None 0 Jun 11 13:07 KHCCNELO
drwxrwx---+ 1 Administrators None 0 Jan 9 23:28 MAX18LP0
drwxrwx---+ 1 Administrators None 0 Jun 11 13:08 OJ3O062M
drwxrwx---+ 1 Administrators None 0 Jan 9 23:28 YTDLISE8
Windows 7 | 8 также создает виртуальные папки для хранения файлов, которые Internet Explorer пытается сохранить в защищенных местах. Таким образом, вместо того, чтобы вызывать сбой надстройки при попытке записать файл данных в папку Windows или Program Files, Windows 7 или Vista перенаправляет операцию записи в виртуальный эквивалент. Таким образом, программа продолжает работать, считая, что она записала файлы в системную папку; немного понимая, что данные фактически были записаны в виртуализированную скрытую папку, которая отражает фактический путь и хранится в папке "Temporary Internet Files".