<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Получения даты двухнедельной давности]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7700</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7700&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Получения даты двухнедельной давности».]]></description>
		<lastBuildDate>Sat, 27 Oct 2012 11:18:30 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Получения даты двухнедельной давности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65170#p65170</link>
			<description><![CDATA[<p>forfiles</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Sat, 27 Oct 2012 11:18:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65170#p65170</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Получения даты двухнедельной давности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65141#p65141</link>
			<description><![CDATA[<p>Если с помощью скрипта, который сам создаётся из батника, гораздо кошернее получается.</p>]]></description>
			<author><![CDATA[null@example.com (roma351234567890)]]></author>
			<pubDate>Fri, 26 Oct 2012 14:55:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65141#p65141</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Получения даты двухнедельной давности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64765#p64765</link>
			<description><![CDATA[<p>Взято с <a href="http://forum.oszone.net/post-1203277.html">http://forum.oszone.net/post-1203277.html</a></p><p>Выкинул что мне не нужно.</p><div class="codebox"><pre><code>@Echo Off
Set $OLD=25
:: Находим текущие день/месяц/год
For /F &quot;Tokens=1&quot; %%i In (&#039;WMIC OS Get LocalDateTime^,Version^|Find &quot;.&quot;&#039;) Do Set DateTime=%%i
Set $Y=%DateTime:~0,4%
If &quot;%DateTime:~4,1%&quot;==&quot;0&quot; (Set $M=%DateTime:~5,1%) Else (Set $M=%DateTime:~4,2%)
If &quot;%DateTime:~6,1%&quot;==&quot;0&quot; (Set $D=%DateTime:~7,1%) Else (Set $D=%DateTime:~6,2%)
:: Откатываем дату назад на $OLD дней
Call :GetOldDate %$OLD%
:: Выход
EXIT

:GetOldDate
:: -----------------------------------
:: Расчет даты, предшествующей текущей
:: заданное количество дней (&lt; 29)
:: -----------------------------------
 Set /A $D -= %1
 If %$D% GTR 0 GoTo GetOldDate_2
:: Месяц, год, дней в месяце
 Set /A $M=%$M%+11-((%$M%+10)/12)*12
 If %$M% EQU 12 Set /A $Y-=1
 For /F &quot;Tokens=%$M%&quot; %%i In (&quot;31 28 31 30 31 30 31 31 30 31 30 31&quot;) Do Set $X=%%i
 If %$M% NEQ 2 GoTo GetOldDate_1
:: Февраль високосного года
 Set /A $B1=%$Y%-(%$Y%/4)*4
 Set /A $B2=%$Y%-(%$Y%/100)*100
 Set /A $B3=%$Y%-(%$Y%/400)*400
 If 0 EQU %$B1% If 0 NEQ %$B2% Set /A $X+=1
 If 0 EQU %$B3% Set /A $X+=1
:: День месяца
:GetOldDate_1
 Set /A $D=%$D%+%$X%-((%$D%+%$X%-1)/%$X%)*%$X%
:: Форматирование даты
:GetOldDate_2
 Set $M=0%$M%&amp;Set $D=0%$D%
 Set $M=%$M:~-2%&amp;Set $D=%$D:~-2%
 Set DateTime=%$Y%%$M%%$D%%DateTime:~8%
GoTo :EOF</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (werthk)]]></author>
			<pubDate>Mon, 15 Oct 2012 04:09:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64765#p64765</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Получения даты двухнедельной давности]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64764#p64764</link>
			<description><![CDATA[<p>Здравствуйте.<br />Столкнулся с необходимостью вычисления даты двухнедельной давности.<br />К сожалению пока опыта мало, код тупой, но почти едет.</p><div class="codebox"><pre><code>set Day=%date:~0,2%
set Month=%date:~3,2%
set Year=%date:~-4%
set /a Day=%Day%-14
if %Day% lss 0 (set /a Month=%Month%-1
                if %Month% equ 01 (set /a Day=%Day%+31)
                if %Month% equ 03 (set /a Day=%Day%+31)
                if %Month% equ 05 (set /a Day=%Day%+31)
                if %Month% equ 07 (set /a Day=%Day%+31)
                if %Month% equ 08 (set /a Day=%Day%+31)
                if %Month% equ 10 (set /a Day=%Day%+31)
                if %Month% equ 12 (set /a Day=%Day%+31)
 
                if %Month% equ 04 (set /a Day=%Day%+30)
                if %Month% equ 06 (set /a Day=%Day%+30)
                if %Month% equ 09 (set /a Day=%Day%+30)
                if %Month% equ 11 (set /a Day=%Day%+30)

                if %Month% equ 02 (if %Year% equ 2012 (set /a Day=%Day%+29)
                                   if %Year% equ 2016 (set /a Day=%Day%+29)
                                   if %Year% equ 2020 (set /a Day=%Day%+29)
                                   else (set /a Day=%Day%+28)
                                  )
               )</code></pre></div><p>Проблема в том что двузначные которые должны иметь вид 0X получаются вида X.<br />Подскажите как подправить, или может более простой способ решения данной задачи.<br />Заранее большое спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (werthk)]]></author>
			<pubDate>Mon, 15 Oct 2012 03:21:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64764#p64764</guid>
		</item>
	</channel>
</rss>
