![]() |
ряд простых задач
Здравствуйте.
Недавно начал изучать bat и все время косячу в коде 1 задача необходимо сделать свой таймер мой код ------------------------------------------------------- @echo off setlocal enabledelayedexpansion if "%1"=="/?" goto 2 for /f "delims=:. tokens=1-3" %%i in ("%time%") do ( set h0=%%i set m0=%%j set s0=%%k ) set h0=%%i*3600 set m0=%%j*60 set /a s0=%h0%+%m0%+%s0% :1 for /f "delims=:. tokens=1-3" %%i in ("%time%") do ( set h1=%%i set m1=%%j set s1=%%k ) set h1=%%i*3600 set m1=%%j*60 set /a s1=%h1%+%m1%+%s1% set /a diff=s1-s0 if %1 lss %diff% goto eof goto 1 :2 echo %~nx0 seconds :eof endlocal ----------------------------------------------------------- но это не работает на числах 08 и 09 (восьмеричная система) попытался исправить так -------------------------------------------------------- @echo off setlocal enabledelayedexpansion if "%1"=="/?" goto help for /f "delims=:., tokens=1-3" %%i in ("%time%") do ( set H0=%%i if %H0%==08 set H0=8 if %H0%==09 set H0=9 set M0=%%j if %M0%==08 set M0=8 if %M0%==09 set M0=9 set S0=%%k if %S0%==08 set S0=8 if %S0%==09 set S0=9 ) set H0=!H0!*3600 set M0=!M0!*60 set /a S0=!S0!+!M0!+!H0! :1 for /f "delims=:., tokens=1-3" %%i in ("%time%") do ( set H1=%%i if %H1%==08 set H1=8 if %H1%==09 set H1=9 set M1=%%j if %M1%==08 set M1=8 if %M1%==09 set M1=9 set S1=%%k if %S1%==08 set S1=8 if %S1%==09 set S1=9 ) set H1=!H1!*3600 set M1=!M1!*60 set /a S1=!H1!+!M1!+!S1! set /a dif=!S1!-!S0! if %1 lss %dif% goto eof goto 1 :help echo %~nx0 seconds :eof endlocal ------------------------------------------------------------------------ пишет непредвиденное появление =8 ну и 3 альтернатива хоть и не удовлетворяет заданным нам условиям( в универе) -------------------------------------------- @echo off setlocal enabledelayedexpansion if "%1"=="/?" goto help set h1=%%1 set /a h1=h1*100 :p ping -n 1 -w !h1! 192.168.254.254 >nul echo 1 goto eof :help echo %~nx0 seconds :eof endlocal ------------------------------------------------- тоже отказывается работать 2 задача Написать программу, показывающую, какой файл выполнится, если набрать команду, переданную в параметрах. Должны поддерживаться как команды с расширением, так и без (т.е. calc и calc.exe) Пример запуска: >which.cmd calc C:\Windows\system32\calc.exe Не представляю как это реализовать нашел что то про reg, но все попытки закочились неудачей 3 и последний вопрос может расскажите как это работает -------------------- @echo off md helpgen cd helpgen for /f %%i in ('help ^| findstr /r /c:"^[A-Z][A-Z]* "') do help %%i>%%i.txt ------------------------- а именно зачем нужны 2 скобки a-z a-z и * |
Цитата:
Основные принципы размещения и поиска информации на конференции OSzone.net Цитата:
|
Время: 22:59. |
Время: 22:59.
© OSzone.net 2001-