Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Поиск файла в каталогах и сравнение даты его создания

Ответить
Настройки темы
VBS/WSH/JS - Поиск файла в каталогах и сравнение даты его создания

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Приветствую!

Прошу подсказать, как можно на VBS выполнить обход каталогов, на предмет отсутствия файла file.lock либо его старости, такой структуры:
z:\ops\dir01\lock\
...
z:\ops\dirXX\lock\

Алгоритм такой:
1. Начинаем обход каталогов по указанной структуре (dir01\lock\ - dirXX\lock\)
2. Как только находим каталог без файла file.lock либо с файлом file.lock но датой его создания более 60 минут назад, останавливаем поиск
3. Запускаем из этого каталога bat-скрипт wshShell.Run "cmd.exe /c z:\ops\" & SearchDir & "\start.bat", 0, False (т.е. bat-файл будет лежать на один уровень выше, чем file.lock)
4. Если каталог без файла file.lock не найден, либо файл file.lock создан не позднее 60 минут назад - выводим сообщение WScript.Echo "Пульты заняты"

Буду рад любым советам. Спасибо!

Отправлено: 16:16, 19-06-2020

 

Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Код на скорую руку. Может и напутал чего, но вроде работает.
Код: Выделить весь код
param(
    $path = 'z:\ops',
    $file = 'file.lock'
)cls

gci $path|foreach{$run={start "$args\start.bat" -WindowStyle h}
if($f = (gi "$($_.FullName)\lock\$file" -ea  0).LastWriteTime){
    if(((Date) - $f).hours  -ne  0){$a = 1;&$run  $_.FullName}}
else{$a=1;&$run $_.FullName}};if($a-ne 1){"Все пульты заняты."}

Последний раз редактировалось Fors1k, 20-06-2020 в 11:34.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:05, 19-06-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Fors1k, но это же не VBS.

Отправлено: 10:08, 20-06-2020 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


pedrosoft, но у Вас же не Windows XP?

Цитата pedrosoft:
Буду рад любым советам. »
Писать работающие алгоритмы.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:47, 20-06-2020 | #4


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Дело в том, что уже есть более большой скрипт на VBS и я хотел дополнить его указанным выше функционалом.

Отправлено: 11:57, 20-06-2020 | #5


Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Цитата pedrosoft:
но это же не VBS. »
Microsoft больше не обновляет VBScript (с 2009 года), и рекомендует использовать PowerShell.

Последний раз редактировалось Fors1k, 20-06-2020 в 12:49.


Отправлено: 12:27, 20-06-2020 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


pedrosoft, что происходит после п.3?

Цитата Fors1k:
Microsoft больше не обновляет VBScript (с 2009 года) »
В реальности — намного раньше. Но это не мешает ему продолжать работать.

Отправлено: 13:04, 20-06-2020 | #7


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Fors1k да знаю, но увы так вышло, основная часть кода уже написана на VBS.

Iska после пункта 3 происходит запуск bat-файла, это финальная часть работы VBS.

Отправлено: 13:19, 20-06-2020 | #8


Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Цитата Iska:
Но это не мешает ему продолжать работать. »
Конечно не мешает, так как Microsoft оставит его и в будущих выпусках Windows.
Цитата pedrosoft:
увы так вышло, основная часть кода уже написана на VBS. »
Появился повод переписать и остальную часть на PoSh. Еще и сам код сократится раз в 10

Отправлено: 13:45, 20-06-2020 | #9


Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Fors1k:
Появился повод переписать и остальную часть на PoSh. Еще и сам код сократится раз в 10 »
Согласен, но в моем случае придется потратить еще больше времени на переписывание основного кода, который итак был написал по крупицам из интернета)

Отправлено: 14:26, 20-06-2020 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Поиск файла в каталогах и сравнение даты его создания

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - поиск и сравнение оригинального и резервной копии (.bak) одного и того же файла Tilaze Скриптовые языки администрирования Windows 1 29-03-2016 21:54
VBS/WSH/JS - изменение даты создания файла на минус Х дней nixdorf13 Скриптовые языки администрирования Windows 2 08-06-2015 14:26
Любой язык - [решено] Сравнение файлов в каталогах. NikolayHAOS Скриптовые языки администрирования Windows 21 18-11-2013 23:37
CMD/BAT - поиск и сравнение оригинального и резервной копии (.bak) одного и того же файла vALUKARDin Скриптовые языки администрирования Windows 3 13-12-2012 19:32
CMD/BAT - [решено] Поиск файла в 2х дерикториях, сравнение версии и принятие решения i-Lex Скриптовые языки администрирования Windows 15 09-12-2012 17:02




 
Переход