//Создаем коллекцию всех файлов в каталоге Fold
Files=new Enumerator(Fold.Files);
s='';
//Цикл по всем файлам
while (!Files.atEnd()) {
//Определяем путь к файлу
SPath=Files.item().Path;
//Выделяем расширение файла
FileExt=FSO.GetExtensionName(SPath).toUpperCase();
//Сравниваем расширение файла с расширением SExt
if (FileExt==SExt.toUpperCase()) {
ColTmp++; //Увеличиваем счетчик файлов для удаления
try {
Status='Ok';
//Пытаемся удалить файл
//Files.item().Delete();
} catch (e) { //Обрабатываем возможные ошибки
if (e != 0) {
//Произошла ошибка при удалении файла
Status='Busy';
}
}
//Заменяем специальные символы в названии файла
SPath=SPath.replace('~','{~}');
SPath=SPath.replace('+','{+}');
SPath=SPath.replace('^','{^}');
SPath=SPath.replace('%','{%}');
//Посылаем название файла и результат его удаления
//в Блокнот
WshShell.SendKeys(SPath+'{TAB}'+Status+'~');
//Приостанавливаем сценарий на 0,5 сек
WScript.Sleep(500);
}
Files.moveNext(); //Переходим к следующему файлу
}
}
/******************* Начало **********************************/
//Создаем объект WshShell
WshShell=WScript.CreateObject('WScript.Shell');
//Запускаем Блокнот
theNotepad = WshShell.Exec('Notepad');
//Приостанавливаем сценарий на 0,5 сек
WScript.Sleep(500);
//Активизируем окно Блокнота
WshShell.AppActivate(theNotepad.ProcessID);
//Создаем объект FileSystemObject
FSO=WScript.CreateObject('Scripting.FileSystemObject');
//Определяем каталог, с которого будет начато удаление файлов
Folder = FSO.GetFolder('D:\');
//Вызываем функцию LoopSubFolder для каталога Folder
LoopSubFolders(Folder);
//Формируем информацию о количестве обработанных файлов
SItog='Total: '+ColTmp+ ' file(s)';
//Посылаем в Блокнот итоговую информацию
WshShell.SendKeys(SItog);
/************* Конец *********************************************/
Поиск файлов с использованием регyлярных выражений
Всем хорошо известно, что для поиска файлов и папок с помощью стандартных средств Windows в именах можно использовать подстановочные символы '?' (обозначает любой один символ) и '*' (обозначает любое число любых символов). Например, на рис. 5.12 представлен результат поиска файлов *.sys (все файлы с расширением sys) на диске С:.

Рис. 5.12. Использование подстановочных символов при поиске файлов
В сценариях WSH можно производить поиск файлов (как и любого другого текста) с помощью гораздо более сложных правил для определения соответствий. Для этого используются
Символы | Описание |
---|---|
| Следующий символ будет являться специальным символом или, наоборот, литералом. Например, n означает символ 'n', а '
' означает символ новой строки. Последовательности \ соответствует символ '', а ( — символ '(' |
^ | Начало строки |
$ | Конец строки |