Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

 Source="C:\\In\\", //Путь к каталогу-источнику файлов для перемещения

 Dest="C:\\Out\\"; //Путь к целевому каталогу

В переменных

Mask
и
PathLog
записаны соответственно расширение файлов для перемещения и путь к log-файлу:

var

 Mask="003", //Расширение файлов для перемещения

 PathLog="C:\\In\\log.txt"; //Путь к log-файлу

Сначала в сценарии с помощью метода

FolderExists
объекта
FileSystemObject
проверяется наличие на диске каталога-источника; в случае отсутствия этого каталога выводится соответствующее сообщение и выполнение сценария прерывается:

//Создаем объект FileSystemObject

FSO=WScript.CreateObject("Scripting.FileSystemObject");

//Проверяем наличие каталога-источника

if (!FSO.FolderExists(Source)) {

 //Выводим сообщение об отсутствии каталога-источника

 WScript.Echo("Каталог-источник", Source, "не существует.");

 WScript.Echo("Нажмите Enter...");

 WScript.StdIn.ReadLine;

 //Выходим из сценария

 WScript.Quit;

}

Аналогичным образом проверяется наличие целевого каталога:

//Проверяем наличие целевого каталога

if (!FSO.FolderExists(Dest)) {

 //Выводим сообщение об отсутствии целевого каталога

 WScript.Echo("Целевой каталог", Dest, "не существует.");

 WScript.StdIn.ReadLine;

 WScript.StdIn.ReadLine;

 //Выходим из сценария

 WScript.Quit;

}

После этого создается объект

Enumerator
(переменная
Files
) для доступа к коллекции всех файлов в каталоге-источнике:

//Создаем объект Folder для каталога-источника Fold=FSO.GetFolder(Source);

//Создаем объект Enumerator для доступа к коллекции файлов

//в каталоге-источнике

Files=new Enumerator(Fold.Files);

Операции записи информации в log-файл и непосредственно переноса файлов из одного каталога в другой реализованы соответственно в функциях

WriteLog
и
MoveFiles
.

В функции

WriteLog
после объявления переменных открывается log-файл в режиме добавления строк:

var s, ss, s1, d, File, FLog;

WScript.Echo(" ");

WScript.Echo("Записываем информацию в log-файл...");

//Открываем log-файл для добавления

FLog=FSO.OpenTextFile(PathLog, ForAppending, true);

Затем в цикле

while
происходит просмотр коллекции файлов в каталоге-источнике:

//Переходим к первому элементу коллекции файлов

Files.moveFirst;

//Цикл по всем файлам в коллекции

while (!Files.atEnd) {

 //Извлекаем текущий файл из коллекции

 File=Files.item;

 //Переходим к следующему файлу в коллекции

 Files.moveNext;

}

Если файл подлежит перемещению (расширение этого файла совпадает с расширением файлов для перемещения), то определяется его имя (свойство Name), дата создания (свойство DateCreated) и текущая дата (объект Date), и в log-файл записывается соответствующая информация:

//Выделяем расширение файла

s=FSO.GetExtensionName(File.Name);

//Проверяем, совпадает ли расширение текущего файла

//с расширением файлов для перемещения

if (s==Mask) {

 //Выводим имя файла на экран

 WScript.Echo(" "+File.Name);

 //Определяем дату создания файла

 d=new Date(File.DateCreated);

 //Формируем строку ss для записи в log-файл

 ss=LFillStr(13,File.Name)

 s1="("+DateToStr(d)+" ";

 s1+=TimeToStr(d)+")";

 ss+=LFillStr(20,s1);

 //Определяем текущую дату

 d=new Date;

 ss+=DateToStr(d);

 ss+=" "+TimeToStr(d);

 //Записываем сформированную строку в log-файл

 FLog.WriteLine(ss);

}

Записываемая в log-файл строка формируется в нужном виде с помощью вспомогательных функций

LFillStr
(выравнивание строки влево в поле заданной длины),
DateToStr
(формирование из объекта Date строки формата ДД/ММ/ГГГГ) и
TimeTostr
(формирование из объекта Date строки формата ЧЧ:ММ).

В функции

MoveFiles
, как и в
WriteLog
, производится перебор в цикле
while
файлов каталога-источника (элементов коллекции Files). Перемещение файлов осуществляется с помощью последовательного применения методов
Copy
и
Delete
:

Files.moveFirst;

//Цикл по всем файлам в коллекции

while (!Files.atEnd) {

 //Извлекаем текущий файл из коллекции

 File=Files.item;

 //Выделяем расширение файла

 s=FSO.GetExtensionName(File.Name);

 //Проверяем, совпадает ли расширение текущего файла

 //с расширением файлов для перемещения

 if (s==Mask) {

//Выводим имя файла на экран

WScript.Echo(" "+File.name);

//Копируем файл в целевой каталог

File.Copy(Dest);

//Удаляем файл

Поделиться:
Популярные книги

Сирийский рубеж 2

Дорин Михаил
6. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сирийский рубеж 2

Чужая семья генерала драконов

Лунёва Мария
6. Генералы драконов
Фантастика:
фэнтези
5.00
рейтинг книги
Чужая семья генерала драконов

Я все еще не царь. Книга XXVI

Дрейк Сириус
26. Дорогой барон!
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Я все еще не царь. Книга XXVI

Точка Бифуркации IV

Смит Дейлор
4. ТБ
Фантастика:
героическая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Точка Бифуркации IV

Законы Рода. Том 9

Мельник Андрей
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Подросток

Достоевский Федор Михайлович
Проза:
русская классическая проза
9.09
рейтинг книги
Подросток

Ермак. Телохранитель

Валериев Игорь
2. Ермак
Фантастика:
альтернативная история
7.00
рейтинг книги
Ермак. Телохранитель

Последний Герой. Том 3

Дамиров Рафаэль
3. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 3

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Приказано выжить!

Малыгин Владимир
1. Другая Русь
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.09
рейтинг книги
Приказано выжить!

Двойник короля 12

Скабер Артемий
12. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 12

Третье правило диверсанта

Бычков Михаил Владимирович
Фантастика:
постапокалипсис
5.67
рейтинг книги
Третье правило диверсанта

Эволюционер из трущоб. Том 10

Панарин Антон
10. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 10

Кодекс Охотника. Книга VI

Винокуров Юрий
6. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VI