|
|
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, помогите,пожалуйста. Есть 1.bat в нем написана программа расчета даты (определение текущей даты, затем прибавление или вычитание заданное кол-во дней).Пример: сегодня 20.05.2017, мы запускаем файл 1.bat 6 результат будет 26.05.2016 если 1.bat -8 результат будет 12.05.2017 Нужно, написать 2.bat, который принимает 1 параметр - целое число (отрицательное или положительное). При запуске 2.bat, запускается предыдущий батник (1.bat), 2.bat передает ему целое число (отрицательное или положительное),программа выводит новую дату.ЗАТЕМ День создания файла больше чем тот день ( чем полученный день). 1.bat код ниже Помогите, пожалуйста! @echo off echo. if not "%OS%"=="Windows_NT" goto syntax set error=0 if "%1"=="" goto syntax if not "%3"=="" goto syntax for /f "tokens=4" %%a in ('echo. ^| date ^| find "дата*"') do set pDate=%%a if "%2"=="" ( set cDate=%pDate% set cDays=%1 ) else ( set cDate=%1 set cDays=%2 ) call :ReadDateFormat (echo.%cDate%) | findstr /R /B /C:"[0-9]*\%sDate%[0-9]*\%sDate%[0-9]*" >NUL if errorlevel 1 ( echo error: %cDate% - Неправильная дата echo. goto syntax ) (echo.%cDays%) | findstr /R /B /C:"-*[0-9]*" >NUL if errorlevel 1 ( echo error: %cDays% -Неправильное целое echo. goto syntax ) call :ParseDate %cDate% if %error% NEQ 0 goto syntax call :JDate %GYear% %GMonth% %GDay% echo Ќ*з*«м**п ¤*в*: %cDate% if "%cDays:~0,1%"==" " ( set /A NewJDate=%JDate% - %cDays:~1% echo Кол-во отнытых дней: %cDays:~1% ) else ( set /A NewJDate=%JDate% + %cDays% echo Кол-во прибавленных дней: %cDays% ) call :GDate %NewJDate% call:ReformatDate %GDate% echo Окончательная дата*: %LDate% goto:eof :ReadDateFormat start /W Regedit /E "%TEMP%.\_TEMP.REG" "HKEY_CURRENT_USER\control Panel\International" for /f "tokens=1* delims==" %%A in ('TYPE "%TEMP%.\_TEMP.REG"^|find /I "iDate"') do set iDate=%%B for /f "tokens=1* delims==" %%A in ('TYPE "%TEMP%.\_TEMP.REG"^|find /I "sDate"') do set sDate=%%B DEL "%TEMP%.\_TEMP.REG" set iDate=%iDate:"=% set sDate=%sDate:"=% goto:eof :gdate set /a p=%1 + 68569 set /a p1=p*4 set /a q=p1/146097 set /a q1=146097*q+3 set /a r=p-q1/4 set /a r1=r+1 set /a r2=4000*r1 set /a s=r2/1461001 set /a s1=1461*s set /a t=%r%-s1/4+31 set /a t1=80*t set /a u=t1/2447 set /a v=u/11 set /a v1=q-49 set /a v2=2447*u set /a gyear=100*v1+s+v set /a gmonth=u+2-12*v set /a gday=t-v2/80 for %%a in (p q q1 q2 r r1 r2 s s1 t t1 u v v1 v2) do set %%a= if 1%gmonth% LSS 20 set gmonth=0%gmonth% if 1%gday% LSS 20 set gday=0%gday% set gdate=%gyear% %gmonth% %gday% goto:eof :jdate SET MM=%2 SET DD=%3 IF %MM:~0,1% EQU 0 SET MM=%MM:~1% IF %DD:~0,1% EQU 0 SET DD=%DD:~1% set /a m1=%MM%-14 SET /A Month1=m1/12 SET /A Year1=%1+4800 set /a b1=%Year1%+%Month1% set /a b2=1461*b1 set /a b=b2/4 set /a c1=%MM%-2-12*%Month1% set /a c2=367*c1 set /a c=c2/12 set /a d1=%Year1%+%Month1%+100 set /a d2=d1/100 set /a d3=3*d2 set /a d=d3/4 set /a jdate=b+c-d+%DD%-32075 For %%A in (Month1 Year1 b b1 b2 c c1 c2 d d1 d2 d3) do set %%A= goto:eof :ParseDate IF %iDate%==0 For /f "tokens=1-3 delims=%sDate%" %%A in ('echo.%1') DO ( SET GYear=%%C SET GMonth=%%A SET GDay=%%B ) IF %iDate%==1 For /f "tokens=1-3 delims=%sDate%" %%A in ('echo.%1') DO ( SET GYear=%%C SET GMonth=%%B SET GDay=%%A ) IF %iDate%==2 For /f "tokens=1-3 delims=%sDate%" %%A in ('echo.%1') DO ( SET GYear=%%A SET GMonth=%%B SET GDay=%%C ) IF %GDay% GTR 31 set error=1 IF %GMonth% GTR 12 set error=1 goto:eof :ReadDateFormat start /W Regedit /E "%TEMP%.\_TEMP.REG" "HKEY_CURRENT_USER\Control Panel\International" for /f "tokens=1* delims==" %%A in ('type %TEMP%.\_TEMP_REG"^| find /I "iDate"') do set iDate=%%B for /f "tokens=1* delims==" %%A in ('type %TEMP%.\_TEMP_REG"^| find /I "sDate"') do set iDate=%%B DEL "%TEMP%.\_TEMP.REG" SET iDate=%iDate:"=% SET sDate=%sDate:"=% goto:eof :ReformatDate If %iDate%==0 set LDate=%2%sDate%%3%sDate%%1 If %iDate%==1 set LDate=%3%sDate%%2%sDate%%1 If %iDate%==2 set LDate=%1%sDate%%2%sDate%%3 goto:eof :syntax echo dateadd.bat - программа прибавления (вычитание) указанного количества дней echo k (от) Указанной даты. Если дата не указана, то берется текущая дата echo Пример запуска: echo dateadd 12.03.2009 42 echo. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 10:38 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Elena56, с такой формулировкой вам в раздел Работа, н не забыть указать сумму вознаграждения. Если есть желание получить помощь в этом разделе, то неплохо бы озвучить в чем именно проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 11:24 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
bga83, Мне нужна бесплатная помощь. Нужно, написать 2.bat, который принимает 1 параметр - целое число (отрицательное или положительное). При запуске 2.bat, запускается предыдущий батник (1.bat), 2.bat передает ему целое число (отрицательное или положительное),программа выводит новую дату.ЗАТЕМ День создания файла больше чем тот день ( чем полученный день). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 11:35 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Обломись, батники такое если и могут, то только очень с сильным колдунством. Тебе не осилить. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 12:10 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Вот и прошу мне помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 12:30 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Ну да... листинг в первом посте впечатляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 12:32 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Elena56Вот и прошу мне помочь Форум проктостоматолоов - в другом месте. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 13:05 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 13:13 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Я на этом форуме впервые. Лучше помогли . Чем не по теме писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 14:42 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Regina REXX - один компактный исполняемый файл, решающий не только эту задачу, но и многие другие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 15:45 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Elena56Dimitry Sibiryakov, Я на этом форуме впервые. Лучше помогли . Чем не по теме писать.так ты скажи в чем именно сложность. " Напишите за меня " - это не правильный подхрод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 16:30 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov Regina REXX - один компактный исполняемый файл, решающий не только эту задачу, но и многие другие. Это да. Мне всегда было любопытно, имел ли право Майкрософт ввести REXX в Windows в тех далёких восьмидесятых ? Вот ввели бы и уже 30 лет как имел бы Windows отличный shell. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 18:38 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Думаю, во времена "640 Kb должно хватить всем", никто не верил, что эти 640 Kb так быстро окажутся реальностью. Скорее рассчитывали на 64-256 Kb, как массовый сегмент. Тот же Sinclair Research Ltd в решениях для SMB даже на дисководы не рассчитывал ))), считали что дисковод это очень дорого. В общем, тут не до BAT и REXX'ов ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 19:59 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
А во времена перед NT... MS дружила с IBM и совместно делали OS/2. В OS/2 REXX вроде был из коробки. А поскольку тогда все думали, что OS/2 - Rulezzz, а Windows - Suxxx, то судьба REXX'а на Windows думаю так же мало кого волновала ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 20:04 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevА во времена перед NT... MS дружила с IBM и совместно делали OS/2. В OS/2 REXX вроде был из коробки. А поскольку тогда все думали, что OS/2 - Rulezzz, а Windows - Suxxx, то судьба REXX'а на Windows думаю так же мало кого волновала )))REXX вроде и под PC-DOS был, значит можно было и под Windows 98 его запустить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 23:43 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
volodin661Мне всегда было любопытно, имел ли право Майкрософт ввести REXX в Windows в тех далёких восьмидесятых ?Он не просто "имел право" - в каком-тоDK времён NT4 был Regina REXX v0.07. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 17:25 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Regina - это open source, а я намекал на права проприетарного REXX-а из состава OS/2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 19:53 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
Regina - наследник майкрософтовской реализации. Что касается OS/2, то в начале нулевых IBM опубликовала Open Object Rexx . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2017, 10:51 |
|
||
|
Нужно, написать 2.bat, который принимает 1 параметр
|
|||
|---|---|---|---|
|
#18+
И, кстати, Rexx не принадлежит ни IBM в целом, ни OS/2 - в частности. Есть The Rexx Language Association и никому не возбраняется делать собственные реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2017, 10:53 |
|
||
|
|

start [/forum/topic.php?fid=26&msg=39462347&tid=1493087]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 514ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...