Попов Андрей Викторович
Шрифт:
Однако если хотя бы один из временных файлов будет занят каким-либо приложением, то в доступе к нему будет отказано и процесс удаления прервется (рис. 5.10).
Поэтому для удаления с жесткого диска всех временных файлов мы напишем сценарий DelTmp.js (основная идея, которая используется в данном сценарии, позаимствована из статьи [6]).
Алгоритм работы сценария состоит в следующем:
в Блокноте (notepad.exe) создается новый файл для отображения в нем результатов работы;
на диске D: просматриваются подкаталоги всех уровней вложенности;
в каждом подкаталоге ищутся все временные файлы с расширением tmp;
для каждого найденного временного файла производится попытка удаления. В случае успеха в Блокноте печатается путь к файлу и слово "OK", если же удаляемый файл занят, то печатается путь к файлу и слово "Busy" ("Занят");
после просмотра всех каталогов в Блокноте печатается общее количество найденных временных файлов (рис. 5.11).
Рис. 5.9. Список всех временных файлов на диске D:
Рис. 5.10. Ошибка, возникающая при попытке удалить занятый файл
Итак, наиболее важными в сценарии являются: функция
Рис. 5.11. Результат работы сценария DelTmp.js
Рассмотрим сначала функцию
после чего все элементы коллекции просматриваются в цикле while:
Для текущего файла в коллекции выделяется его расширение, которое преобразуется к верхнему регистру:
В случае совпадения расширения
Таким образом, в переменной