infoman1@vk |
10-06-2014 18:15 2362580 |
bat который при запуске системы проверяет дату и запускается в hh.dd.mm.yyyy
bat который при запуске системы проверяет дату и запускается в hh.dd.mm.yyyy
не нужно что бы он всегда был запущен, он будет стоять в автозагрузке и при старте системы смотрит на дату, и если уже 15.00 01.01.2015 или дальше то запускает файл 1.exe
а если дата пока не настала то закрывается что бы не грузить систему
|
infoman1@vk |
12-06-2014 00:03 2363111 |
ну что никто?
|
WSH:
Код:
Option Explicit
Dim dtConditionDate
Dim strPath
dtConditionDate = CDate("01.01.2015 15:00")
strPath = "1.exe"
If Now() >= dtConditionDate Then
If WScript.CreateObject("Scripting.FileSystemObject").FileExists(strPath) Then
WScript.CreateObject("WScript.Shell").Run """" & strPath & """"
Else
WScript.Echo "File [" & strPath & "] not found."
WScript.Quit 1
End If
End If
WScript.Quit 0
|
Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-5 delims=,.\ " %%a in ("%time::=% %date%") do (
set $date=.%%c.%%d.%%e
if "!$date:.0=.!"==".1.1.2015" (
for /f "tokens=* delims=0" %%f in ("%%a%%b") do (
if %%f geq 15000000 (
start "" "1.exe"
)
)
)
)
endlocal
exit /b
|
infoman1@vk |
12-06-2014 14:31 2363264 |
вот сделал с етих кодов BAT дату сегоднишнию поставил, с папки виндовса копировал блокнот в отдельную папку, переименовал его на 1.exe, и ни один не работает
Файл 114209
Файл 114210
|
infoman1@vk |
12-06-2014 14:50 2363269 |
блокнот должен был запустится. дата там та которая уже прошла
|
infoman1@vk,
1) надо было ставить не ".12.06.2014", а ".12.6.2014" (т. е. без начальных нулей);
2) "15000000" -- это время "15:00:00,00", которое также нужно было заменить на соответствующее моменту без начальных нулей (за исключением времени "0:00:00,00", которое заменяется на один нуль), например:
Код:
0:00:00,00 -- 0
0:01:00,00 -- 10000
0:12:59,59 -- 125959
9:35:30,00 -- 9353000
15:30:00,00 -- 15300000
.
|
infoman1@vk |
19-06-2014 20:11 2366268 |
разобрался работает. но есть какая то ошибка
когда пишу
10.6.2014 то не работает
а когда
19.6.2014 то работает.
но 10.6.2014 дата которая уже прошла.
как это исправить?
|
White Rabbit |
20-06-2014 08:54 2366418 |
Цитата:
Цитата Georgio
(т. е. без начальных нулей »
|
Сорри, что вклиниваюсь. А как быть, когда нужны начальные нули? Дело в том что у меня батник формирует название папки по дате и времени. Когда на первом месте не ноль всё ОК, но когда ноль... Он его опускает. Правда касается это только времени, по дате вроде бы пока всё ОК. Что можно сделать?
читать дальше »
@echo off
set vtime=%time:~0,-3%
set т=%date:~-4%%date:~2,-4%%date:~0,-8%_%vtime::=.%
md "%n%"
Однако же небогато советов...
|
White Rabbit, вот так:
Код:
@echo off
set vtime=%time:~0,-3%
set vtime=%vtime: =0%
set n=%date:~-4%%date:~2,-4%%date:~0,-8%_%vtime::=.%
md "%n%"
.
|
Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-5 delims=,.\ " %%a in ("%time::=% %date%") do (
set d=0%%c
set m=0%%d
if %%e!m:~-2!!d:~-2! geq 20150101 (
for /f "tokens=* delims=0" %%f in ("%%a%%b") do (
if %%f geq 15000000 (
start "" "1.exe"
)
)
)
)
endlocal
exit /b
infoman1@vk, обратите впимание: теперь дата подставляется с соответствующими нулями, а время, как и было, без начальных нулей, за исключением одного нуля в случае "0:00:00,00".
|
При использовании " wmic.exe" весь код можно записать в одну строку:
Код:
@for /f "tokens=2 delims==+" %%i in ('wmic OS get LocalDateTime /value') do @if %%i geq 20150101150000.000000 start "" "1.exe"
.
|
infoman1@vk |
07-07-2014 02:28 2372973 |
Цитата:
Цитата Georgio
Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-5 delims=,.\ " %%a in ("%time::=% %date%") do (
set d=0%%c
set m=0%%d
if %%e!m:~-2!!d:~-2! geq 20150101 (
for /f "tokens=* delims=0" %%f in ("%%a%%b") do (
if %%f geq 15000000 (
start "" "1.exe"
)
)
)
)
endlocal
exit /b »
|
дату ставлю 20140101
время:
15000000 - не запускает 1.exe
05000000 - не запускает 1.exe
08000000 - запускает 1.exe
09000000 - запускает 1.exe
10000000 - не запускает 1.exe
даты не меняю только время, как вы видите дата давно прошла. а файл то запускается то нет
|
WSH мне нравится всё больше и больше :lol:.
|
infoman1@vk |
07-07-2014 11:25 2373050 |
Цитата:
Цитата Georgio
При использовании "wmic.exe" весь код можно записать в одну строку:
Код:
@for /f "tokens=2 delims==+" %%i in ('wmic OS get LocalDateTime /value') do @if %%i geq 20150101150000.000000 start "" "1.exe"
. »
|
будет ли скрипт работать на всех версиях виндовса?
у меня хр скрипт работает. а на других версиях ?
|
Цитата:
Цитата infoman1@vk
будет ли скрипт работать на всех версиях виндовса? »
|
Только от Windows XP Professional и выше. На Windows XP Home Edition и предыдущих версиях Windows — «wmic.exe» отсутствует.
|
Время: 07:59.
© OSzone.net 2001-