Bu olağan inşaat, inanıyorum:
for /F %i in ('time /t') do set current_time=%i
(her zamanki gibi, bir komut dosyasında yüzde işaretlerinin iki katına çıkarılması gerekir.)
Garip olsa da başka bir inşaat:
time /t > tempfile.txt
set /p current_time= < tempfile.txt
Geçici dosyadan kaçınmanın bir yolu yok gibi görünüyor; Eğer bir boru kullanırsanız, set komutu bir alt işlemde gerçekleşir. (Bazı durumlarda çıktıyı toplu komut dosyanızın ikinci bir kopyasına aktarabilirsiniz, ancak bu tür işlemler çok çirkin hızlı olabilir.)
Ek
Son noktama kadar genişletmek için, yorumlardaki bir soruya cevaben, çıktıyı yeni bir örneğe yönlendiren örnek bir toplu iş dosyası:
if "%1" NEQ "" @goto %1
:step1
time /t | %0 step2
goto :eof
:step2
set /p current_time=
echo %current_time%
rem processing here...
Bu çözümün daha karmaşık toplu komut dosyaları için iyi ölçeklendirdiğini sanmıyorum.
echo %TIME%
veecho %DATE%
. Açık robvanderwoude.com Eğer inceliyorlar konuyu dokunur kod bol bulabilirsiniz.