Войти

Показать полную графическую версию : PowerShell ожидание появление txt с запуском vbs скрипта


Technik_spat
16-10-2024, 09:37
Здравствуйте!
Подскажите, пожалуйста с решением задачи: автозапуск скрипта start.vbs, при появлении текстового файла start_2.txt в папке D:\0\0\.
Вообще, наверное, для уменьшения конфликтности, сделать перенос файла в папку (к примеру D:\0\2\) , а оттуда уже запуск скрипта.
Что смог найти, но он не работает(((:
param(
$flag = "D:\0\0\start_2.txt",
$Cscript = "D:\0\1\start.vbs" //nologo
)cls

while($true){
while(!(Test-Path $flag)){sleep 1}
start $app
while( (Test-Path $flag)){sleep 1}
}

И сразу вопрос: а как можно это запускать без окон обработки и сообщений, т.е. что бы не выскакивало на компе.

NickM
16-10-2024, 09:58
Почитайте за класс "FileSystemWatcher" и сможете реализовать Свою задачу без всяких прочих циклов внутри сценария.

YuS_2
16-10-2024, 21:40
сразу вопрос »
лень нагружать мозги, чего-то уставшие они сегодня...
Есть вот такой готовый скрипт:
add-type -ass system.speech
$wtch = new-object system.io.filesystemwatcher
$wtch.path = "D:\"
$wtch.filter = "*.*"

register-objectevent -inp $wtch -event created -action {
$obj = "{0} создан {1}" -f $event.sourceeventargs.fullpath,$event.timegenerated
$params = @{object = $obj;foregroundcolor = 'cyan'}
write-host @params
$voice = new-object system.speech.synthesis.speechsynthesizer
$voice.speak("Ахтунг, хозяин, тут какая-то хрень создала файл $($event.sourceeventargs.name)!!!")
}|out-null
- будет выдавать сообщения при создании файлов в определенном каталоге...
Можете приспособить его. Укажите необходимый каталог, фильтр и требуемые действия с созданным файлом, вместо голосового сообщения и вывода в консоль (для теста можно временно оставить, а после настройки выключить)...




© OSzone.net 2001-2012