powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Нужно, написать 2.bat, который принимает 1 параметр
19 сообщений из 19, страница 1 из 1
Нужно, написать 2.bat, который принимает 1 параметр
    #39462069
Elena56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, помогите,пожалуйста. Есть 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.
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462118
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elena56,

с такой формулировкой вам в раздел Работа, н не забыть указать сумму вознаграждения. Если есть желание получить помощь в этом разделе, то неплохо бы озвучить в чем именно проблема
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462133
Elena56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bga83,
Мне нужна бесплатная помощь.
Нужно, написать 2.bat, который принимает 1 параметр - целое число (отрицательное или положительное). При запуске 2.bat, запускается предыдущий батник (1.bat), 2.bat передает ему целое число (отрицательное или положительное),программа выводит новую дату.ЗАТЕМ День создания файла больше чем тот день ( чем полученный день).
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462150
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обломись, батники такое если и могут, то только очень с сильным колдунством. Тебе не осилить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462176
Elena56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Вот и прошу мне помочь
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462180
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да... листинг в первом посте впечатляет
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elena56Вот и прошу мне помочь

Форум проктостоматолоов - в другом месте.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462253
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
call /?
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462347
Elena56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Я на этом форуме впервые. Лучше помогли . Чем не по теме писать.
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462434
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Regina REXX - один компактный исполняемый файл, решающий не только эту задачу, но и многие другие.
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462497
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elena56Dimitry Sibiryakov,
Я на этом форуме впервые. Лучше помогли . Чем не по теме писать.так ты скажи в чем именно сложность. " Напишите за меня " - это не правильный подхрод
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462625
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov Regina REXX - один компактный исполняемый файл, решающий не только эту задачу, но и многие другие.

Это да.
Мне всегда было любопытно, имел ли право Майкрософт ввести REXX в Windows в тех далёких восьмидесятых ?
Вот ввели бы и уже 30 лет как имел бы Windows отличный shell.
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462654
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, во времена "640 Kb должно хватить всем", никто не верил, что эти 640 Kb так быстро окажутся реальностью.

Скорее рассчитывали на 64-256 Kb, как массовый сегмент. Тот же Sinclair Research Ltd в решениях для SMB даже на дисководы не рассчитывал ))), считали что дисковод это очень дорого. В общем, тут не до BAT и REXX'ов )))
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462656
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А во времена перед NT... MS дружила с IBM и совместно делали OS/2. В OS/2 REXX вроде был из коробки. А поскольку тогда все думали, что OS/2 - Rulezzz, а Windows - Suxxx, то судьба REXX'а на Windows думаю так же мало кого волновала )))
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39462720
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevА во времена перед NT... MS дружила с IBM и совместно делали OS/2. В OS/2 REXX вроде был из коробки. А поскольку тогда все думали, что OS/2 - Rulezzz, а Windows - Suxxx, то судьба REXX'а на Windows думаю так же мало кого волновала )))REXX вроде и под PC-DOS был, значит можно было и под Windows 98 его запустить?
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39463249
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661Мне всегда было любопытно, имел ли право Майкрософт ввести REXX в Windows в тех далёких восьмидесятых ?Он не просто "имел право" - в каком-тоDK времён NT4 был Regina REXX v0.07.
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39464088
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Regina - это open source,
а я намекал на права проприетарного REXX-а из состава OS/2.
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39465105
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Regina - наследник майкрософтовской реализации.
Что касается OS/2, то в начале нулевых IBM опубликовала Open Object Rexx .
...
Рейтинг: 0 / 0
Нужно, написать 2.bat, который принимает 1 параметр
    #39465107
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, Rexx не принадлежит ни IBM в целом, ни OS/2 - в частности.
Есть The Rexx Language Association и никому не возбраняется делать собственные реализации.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Нужно, написать 2.bat, который принимает 1 параметр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]