CMD/BAT - [решено] Запуск указанных программ в указанное время.

Аватара пользователя
ritrs@vk

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение ritrs@vk »

Хорошо, на счёт файлов не заметил. Исправил.


Цитата Iska:



Команда «start» — внутренняя команда командного процессора (интерпретатор команд) «cmd.exe». И работает она только из-под него. Посему для её использования сначала нужно запустить этот самый командный процессор, наподобие «cmd.exe /c"start "" "bla-bla-bla.exe""». Только вот зачем Вам вообще там «start» нужен?
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Как тогда мне организовать запуск программы без использования start?





Код:

Код: Выделить всё

@echo off
set /P sTime="Enter the time start:  "
:more
set /P sPath="Enter the path to programms:   "
echo %sPath% >> list.txt
set /P sChoice="Let's add one more? Y-yes, N-no:  "
if %sChoice%==Y goto more
for /f "tokens=*" %%i in (list.txt) do (at "%sTime%" start"%sPath%")
echo "Action successful."
del list.txt
pause>nul

Между прочим, в пред. версиях, с моего позволенья "программы" добавляло с иконкой. Честно. А вот теперь действительно не работает. Кстати, что за программа которую вы используете?




Цитата Iska:



Только вот зачем Вам вообще там «start» нужен?
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Препод так делал.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение Iska »

Цитата ritrs@vk:



Как тогда мне организовать запуск программы без использования start?
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Как есть, указывая только сам исполняемый файл безо всяких «start».




Цитата ritrs@vk:



Между прочим, в пред. версиях, с моего позволенья "программы" добавляло с иконкой. Честно.
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Не верю. «start», как внутренняя команда командного процессора, не может иметь иконки.




Цитата ritrs@vk:



Кстати, что за программа которую вы используете?
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Вы про Far Manager?




Цитата ritrs@vk:



Препод так делал.
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Если он делал так в данном конкретном случае — то это попросту нелепо.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение Iska »

Цитата Iska:




Цитата ritrs@vk:



Как тогда мне организовать запуск программы без использования start?



»

Как есть, указывая только сам исполняемый файл безо всяких «start».
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Ну тогда у меня появляется ошибка что не правильный синтаксис команды at.

В прочем сейчас еще раз попробую. Просто указать путь к файлу?


Цитата Iska:




Цитата ritrs@vk:



Между прочим, в пред. версиях, с моего позволенья "программы" добавляло с иконкой. Честно.



»

Не верю. «start», как внутренняя команда командного процессора, не может иметь иконки.
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Я о том что появлялась иконка программы которую я вызывал.
Аватара пользователя
ritrs@vk

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение ritrs@vk »

Цитата ritrs@vk:



Ну тогда у меня появляется ошибка что не правильный синтаксис команды at.
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Покажите конечный код. Покажите скриншот с его исполнением и ошибкой.




Цитата ritrs@vk:



Я о том что появлялась иконка программы которую я вызывал.
CMD/BAT - [решено] Запуск указанных программ в указанное время.




И я о том же. Не может там быть у «start» иконки.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение Iska »

Код:





Код:

Код: Выделить всё

@echo off
set /P sTime="Enter the time start:  "
:more
set /P sPath="Enter the path to programms:   "
echo %sPath% >> list.txt
set /P sChoice="Let's add one more? Y-yes, N-no:  "
if %sChoice%==Y goto more
for /f "tokens=*" %%i in (list.txt) do (at "%sTime%" start file"%sPath%")
echo "Action successful."
del list.txt
pause>nul

Изображение
Аватара пользователя
ritrs@vk

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение ritrs@vk »

Код:





Код:

Код: Выделить всё

@echo off
set /P sTime="Enter the time start:  "
:more
set /P sPath="Enter the path to programms:   "
echo %sPath% >> list.txt
set /P sChoice="Let's add one more? Y-yes, N-no:  "
if %sChoice%==Y goto more
for /f "tokens=*" %%i in (list.txt) do (at "%sTime%" start file"%sPath%")
echo "Action successful."
del list.txt
pause>nul

Изображение
Аватара пользователя
ritrs@vk

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение ritrs@vk »

Код пакетного файла:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

@echo off
setlocal enableextensions enabledelayedexpansion
:RepeatEnterTime
set sTime=
set /p sTime=Enter time for start programs [hh:mm]: 
if not defined sTime (
	echo Need enter time.
	goto :RepeatEnterTime
)
echo %sTime%| >nul 2>&1 findstr.exe /i /r /c:"^[0-2][0-9]\:[0-5][0-9]$" || (
	echo Need enter time in format [hh:mm].
	goto :RepeatEnterTime
)
:RepeatEnterPath
set sPath=
set /p sPath=Enter path to program: 
if not defined sPath (
	echo Need enter path.
	goto :RepeatEnterPath
)
if not exist "%sPath%" (
	echo Can't find file [%sPath%].
	echo Need correct path to program.
	goto :RepeatEnterPath
)
at.exe %sTime% /interactive "%sPath%"
set sChoice=
if exist "%SystemRoot%\System32\choice.exe" (
	choice.exe /m "Another program?"
	if errorlevel 1 goto :RepeatEnterPath
) else (
	set /p sChoice=Another program? [YN]: 
	if defined sChoice if /i "!sChoice!" equ "y" goto :RepeatEnterPath
)
endlocal
exit /b 0







Пример выполнения кода:



Скрытый текст

[spoiler]Изображение[/spoiler]




Запуск созданных в примере заданий из Планировщика:



Скрытый текст

[spoiler]Изображение[/spoiler]
Аватара пользователя
ritrs@vk

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение ritrs@vk »

Цитата ritrs@vk:



Можете объяснить команду setLocal?
CMD/BAT - [решено] Запуск указанных программ в указанное время.






Код:

Код: Выделить всё

setlocal /?

Если после прочтения останутся вопросы — спрашивайте.
Аватара пользователя
ritrs@vk

Re: CMD/BAT - [решено] Запуск указанных программ в указанное время.

Сообщение ritrs@vk »

Цитата Iska:



Если после прочтения останутся вопросы — спрашивайте.
CMD/BAT - [решено] Запуск указанных программ в указанное время.




Ну я так понял setlocal создает локальную среду относительно текущего файла? А в чём ее особености?
Ответить

Вернуться в «Скриптовые языки администрирования Windows»