<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: получение формата дата-время для имени файла]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5066&amp;type=atom" />
	<updated>2010-10-21T06:18:52Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5066</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: получение формата дата-время для имени файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40664#p40664" />
			<content type="html"><![CDATA[<p>Для машин без «wmic.exe»:<br /></p><div class="codebox"><pre><code>@echo off
setlocal

for /f &quot;usebackq delims=&quot; %%i in (
    `@&quot;%systemroot%\system32\mshta.exe&quot; &quot;javascript:try {new ActiveXObject(&#039;Scripting.FileSystemObject&#039;).GetStandardStream(1).Write(new String(new Enumerator(new ActiveXObject(&#039;WbemScripting.SWbemLocator&#039;).ConnectServer(&#039;.&#039;, &#039;root\\cimv2&#039;).ExecQuery(&#039;SELECT LocalDateTime FROM Win32_OperatingSystem WHERE Primary = True&#039;)).item().LocalDateTime).substr(0, 8 + 6))}; catch (e){}; close();&quot; ^
    1^|more`
) do set sDateTime=%%i

echo %sDateTime%

endlocal
exit /b 0</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2010-10-21T06:18:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40664#p40664</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: получение формата дата-время для имени файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40661#p40661" />
			<content type="html"><![CDATA[<p>Достаточно часто требуется создавать файлы (например, log-файлы) с указанием непосредственно в имени текущих даты-времени. Крайне желательно при этом, чтобы созданные файлы были правильно отсортированы (т.е., использовали т.н. «японский» порядок даты — Год-Месяц-День, не забывая про ведущие нули в одноцифровых месяцах и датах). Для этого можно использовать непосредственную работу с датой и временем: <a href="http://forum.script-coding.com/viewtopic.php?id=4106">CMD/BAT: работа с датой и временем в командной строке</a>. Но существует и более простой способ: свойство «.LocalDateTime» класса «Win32_OperatingSystem» возвращает дату-время в формате CIM_DATETIME, что, фактически, и требуется:<br /></p><div class="codebox"><pre><code>wmic.exe OS get LocalDateTime</code></pre></div><div class="quotebox"><blockquote><div class="codebox"><pre><code>LocalDateTime
20101021054545.868000+240</code></pre></div></blockquote></div><p>Лишнее достаточно просто обрезать, например:<br /></p><div class="codebox"><pre><code>@echo off
for /f &quot;delims=.&quot; %%i in (&#039;wmic.exe OS get LocalDateTime ^| find &quot;.&quot;&#039;) do set sDateTime=%%i
echo %sDateTime%</code></pre></div><div class="quotebox"><blockquote><div class="codebox"><pre><code>20101021055941</code></pre></div></blockquote></div><p>Из плюсов — полная независимость от региональных настроек и версий ОС: формат CIM_DATETIME един.</p><p>Автор идеи — <strong><a href="http://forum.oszone.net/member.php?userid=38813">amel27</a></strong>.</p><p><em><a href="http://forum.oszone.net/post-1518362.html#post1518362">Источник</a></em></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2010-10-21T02:19:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40661#p40661</id>
		</entry>
</feed>
