Forum
Merhabalar,
Bu konuyu açmak için doğru yer burası mı bilmiyorum Ama şöyle bir sorum olacak. Öyle bir bat dosayası oluşturmak istiyorum ki aktif directory de aa.tib dosyası var ise bunun adını o günün tarihi ve saati olacak şekilede değiştirsin örneğin 20.03.2013_10:03:05.tib şekline dğiştirsin
Aslında internette yaptığım arama da şu şekilde bir komut buldum. Ama bu komut aa.tib dosyasının adını sadece o günkükü tarih ile güncelliyor oysa ben tarih_zaman (saat ,dakika ve saniye de olacak şekilde) yapsın istiyorum İnternetten bulduğum komu aşağıdaki gibidir. Yardımcı olursanız çok sevineceğim
if exist aa.tib rename aa.tib "%date:/=.%.tib"
"%date%".tib seklinde kullanırsanız yapabilirsiniz sanırım
Evet yapıyor ama yukarıda da değindiğim gibi aa.tib dosyasının adını 20.03.213.tib şeklinde o günkü tarihe göre değiştiriyor. Böyle olunca da bu komutu her yarım saatte bir çalıştırınca isim benzerliği nedeniyle sıkıntı çıkıyor Bu yüzden ben aa.tib adını o günkü tarih +saatle değiştirsin istiyorum.
İlginiz için teşekkürler..
set d=%date:~-4,4%%date:~-7,2%%date:~0,2%
set d=%d: =_%
set t=%time:~0,2%%time:~3,2%%time:~6,2%
set t=%t: =0%
RENAME "c:\aa.tib" "aa_%d%_%t%.tib"
regional settings değiştiğinde o script çakabilir.
aşağıdaki gibi kullanırsanız regional settings ten etkilenmezsiniz
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "skip=1 tokens=1-6" %%a in ('wmic path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') do (
if not "%%~f"=="" (
set /A FormattedDate=10000 * %%f + 100 * %%d + %%a
set FormattedDate=!FormattedDate:~6,2!.!FormattedDate:~4,2!.!FormattedDate:~0,4!
set /A FormattedTime=10000 * %%b + 100 * %%c + %%e
set FormattedTime=0000000!FormattedTime!
set FormattedTime=!FormattedTime:~-6,2!.!FormattedTime:~-4,2!
)
)
:: Display the results
echo %FormattedDate%_%FormattedTime%
endlocal
Tam olarak istediğim buydu. Çok işime yarayacak. Sağolun arkadaşlar...