VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
-
dot85
VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Я полный чайник в написании скриптов, не могли бы вы мне помочь написать скритп который проверяет файл в определеной папки допустим C:/doci/test и если он 10 дневной давности то запускает другой скрипт для обновления допустим с названием "internet" (скрипт на обновление у меня уже есть)
-
dot85
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Код:
Код: Выделить всё
Option Explicit
Dim strFolder
Dim strFile
Dim strScript
Dim objFSO
strFolder = "C:\doci\test\"
strFile = "file.ext"
strScript = "x:\internet.vbs"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If DateDiff("d", objFSO.GetFile(strFolder & strFile).DateCreated, Date) > 9 Then _
CreateObject("WScript.Shell").Run strScript-
dot85
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Спасибо большое, у меня вот такая ошибка вылетает "сценарий E:\banronv\start.vbs строка 14 символ 84 недопустимый знак код 800A0408 источник ошибка компиляции Microsoft VBScript"
при таком скрипте неподскажите где закралась ошибка
Option Explicit
Dim strFolder
Dim strFile
Dim strScript
Dim objFSO
strFolder = "E:\banronv\demonsr"
strFile = "LAST_REC.TXT"
strScript = "E:\banronv\interne.vbs"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If DateDiff("d", objFSO.GetFile(strFolder & strFile).DateCreated, Date) > 9 Then _ CreateObject("WScript.Shell").Run strScript
при таком скрипте неподскажите где закралась ошибка
Option Explicit
Dim strFolder
Dim strFile
Dim strScript
Dim objFSO
strFolder = "E:\banronv\demonsr"
strFile = "LAST_REC.TXT"
strScript = "E:\banronv\interne.vbs"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If DateDiff("d", objFSO.GetFile(strFolder & strFile).DateCreated, Date) > 9 Then _ CreateObject("WScript.Shell").Run strScript
-
Iska
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
dot85, чтобы не было таких ошибок, код на форуме специально оформляется
Код:
ибо это не одна, а две строки кода.
Либо, если решили сделать из этого одну строку, то убирайте символ продолжения строки кода «_»:
Код:
тэгом «code»
. И не надо было ничего в нём менять, нужно было копировать всё «как есть»:Код:
Код: Выделить всё
If DateDiff("d", objFSO.GetFile(strFolder & strFile).DateCreated, Date) > 9 Then _
CreateObject("WScript.Shell").Run strScriptибо это не одна, а две строки кода.
читать дальше »
Либо, если решили сделать из этого одну строку, то убирайте символ продолжения строки кода «_»:
Код:
Код: Выделить всё
If DateDiff("d", objFSO.GetFile(strFolder & strFile).DateCreated, Date) > 9 Then CreateObject("WScript.Shell").Run strScript-
dot85
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
я экспериментировал убирал это символ _ , в одну строку делал даты папки менял и файла дату менял на 10 и более дней скрипт почему то условия не выполняет т.е запуск второго скрипта
может это из за того что второй скрипт это запуск батника в скрытом режиме вот его код
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c internet.exe", 0, false
может его как то объеденить с первым скриптом
internet.exe это батник который я конвертировал с помощью этой программы Advanced BAT to EXE Converter v2.45
может это из за того что второй скрипт это запуск батника в скрытом режиме вот его код
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c internet.exe", 0, false
может его как то объеденить с первым скриптом
internet.exe это батник который я конвертировал с помощью этой программы Advanced BAT to EXE Converter v2.45
-
SendMessage
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
В строке
Код:
нужно ставить слэш после маршрута папки:
Код:
Иначе файл LAST_REC.TXT не будет найден.
Сам виноват, надо было просто использовать однозначные решения, вместо:
Код:
достаточно просто написать
Код:
И не будет никакой разницы - есть слэш или нету слэша.
Код:
Код: Выделить всё
strFolder = "E:\banronv\demonsr"нужно ставить слэш после маршрута папки:
Код:
Код: Выделить всё
strFolder = "E:\banronv\demonsr\"Иначе файл LAST_REC.TXT не будет найден.
В качестве самокритики »
Сам виноват, надо было просто использовать однозначные решения, вместо:
Код:
Код: Выделить всё
If DateDiff("d", objFSO.GetFile(strFolder & strFile).DateCreated, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScriptдостаточно просто написать
Код:
Код: Выделить всё
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateCreated, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScriptИ не будет никакой разницы - есть слэш или нету слэша.
-
dot85
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Спасибо большое при таком коде он запускается но если я меняю вместо = 0 пишу > 9 то уже не запускается хотя файл от 25 мая а вот при < 9 тоже запускается
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateCreated, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScript
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateCreated, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScript
-
SendMessage
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Цитата dot85:
если я меняю вместо = 0 пишу > 9 то уже не запускается хотя файл от 25 мая
Сомневаюсь. Может быть дата последней модификации файла от 25 мая? Если Вы его скопировали - дата создания меняется на текущую в момент этого действия. Чтобы файл проверялся на дату последнего изменения, нужно заменить
Код:
на
Код:
если я меняю вместо = 0 пишу > 9 то уже не запускается хотя файл от 25 мая
VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Сомневаюсь. Может быть дата последней модификации файла от 25 мая? Если Вы его скопировали - дата создания меняется на текущую в момент этого действия. Чтобы файл проверялся на дату последнего изменения, нужно заменить
Код:
Код: Выделить всё
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateCreated, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScriptна
Код:
Код: Выделить всё
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateLastModified, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScript-
dot85
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
C этим кодом все заработало. Спасибо большое. сейчас еще чучуть поэкперементирую и закрою тему
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateLastModified, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScript
If DateDiff("d", objFSO.GetFile(objFSO.BuildPath(strFolder, strFile)).DateLastModified, Date) = 0 Then _
CreateObject("WScript.Shell").Run strScript
-
dot85
Re: VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Цитата dot85:
= 0
Нужно не =0, а >9 - Вам ведь надо проверять на 10-дневную давность. Это я просмотрел в своем последнем посте - скопипастил с Вашего не глядя.
= 0
VBS/WSH/JS - [решено] скрипт проверяет файл по дате после запускает другой скрипт
Нужно не =0, а >9 - Вам ведь надо проверять на 10-дневную давность. Это я просмотрел в своем последнем посте - скопипастил с Вашего не глядя.
