cmd.exe
Zamanlanmış görevinizin çıktısını günlüğe kaydetmek için zaman damgalı bir dosya adı oluşturmak için komut işlemcisini kullanın
Burada başkalarının cevaplarını geliştirmek için, dosyanın adına tarih ve / veya saat gömülü olan bir çıktı dosyası oluşturmak isteyebilirsiniz. Bunu cmd.exe
sizin için yapmak için komut işlemcisini kullanabilirsiniz .
Not: Bu teknik, dahili Windows ortam değişkenlerinin dize çıktısını alır ve bunları karakter konumuna göre dilimlere ayırır. Bu nedenle, aşağıdaki örneklerde verilen tam değerler kullandığınız Windows bölgesi için doğru olmayabilir. Ayrıca, bazı bölgesel ayarlarda, tarih veya saatin bazı bileşenleri, değerleri 10'dan küçük olduğunda oluşturulan dosya adına bir boşluk ekleyebilir. Bu sorunu hafifletmek için, dosyada istenmeyen boşluklar oluşmasını sağlamak için dosya adınızı tırnak işaretleri arasına alın. name oluşturduğunuz komut satırını bozmaz. Deney yapın ve durumunuza en uygun olanı bulun.
Bundan PowerShell
daha güçlü olduğunun farkında olun cmd.exe
. Daha güçlü olmasının bir yolu, farklı Windows bölgeleriyle başa çıkabilmesidir. Ama bu cevap kullanarak bu sorunu çözme konusunda ise cmd.exe
, değil PowerShell
, bu yüzden devam edin.
Kullanma cmd.exe
Dahili ortam değişkenlerini dilimleyerek%date%
ve %time%
aşağıdaki gibi tarih ve saatin farklı bileşenlerine erişebilirsiniz (yine, tam dilimleme değerleri Windows'ta yapılandırılan bölgeye bağlıdır):
- Yıl (4 hane):
%date:~10,4%
- Ay (2 hane):
%date:~4,2%
- Gün (2 hane):
%date:~7,2%
- Saat (2 hane):
%time:~0,2%
- Dakika (2 hane):
%time:~3,2%
- İkinci (2 hane):
%time:~6,2%
Günlük dosyanızın şu tarih / saat biçimi kullanılarak adlandırılmasını istediğinizi varsayalım: " Log_[yyyyMMdd]_[hhmmss].txt
". Aşağıdakileri kullanırsınız:
Log_%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt
Bunu test etmek için aşağıdaki komut satırını çalıştırın:
cmd.exe /c echo "Log_%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt"
, Hep birlikte koyarak hem yönlendirmek stdout
ve stderr
geçerli tarih ve saat ile adlandırılan bir günlük dosyasına komut kullanabilmesisi komut satırı olarak aşağıdakileri kullanabilirsiniz:
cmd /c YourProgram.cmd > "Log_%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt" 2>&1
Bir tarih veya saat bileşeninin bir boşluk karakteri ekleyebileceği örnekleri işlemek için dosya adının etrafında tırnak işaretleri kullanıldığını unutmayın.
Benim durumumda, geçerli tarih / saat 10/05/2017 9:05:34 AM ise, yukarıdaki komut satırı aşağıdakileri üretir:
cmd /c YourProgram.cmd > "Log_20171005_ 90534.txt" 2>&1