
У меня есть этот простой пакетный скрипт:
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
в то время как любые процессы имеют его открытым.
«Почему в каталоге отображается 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».