Ben veritabanı dökümü yapan zamanlanmış yedekleme komut dosyası var. Tarih zaman damgasını dosya adına nasıl ekleyebilirim?
Windows ve CMD hakkında konuşuyorum.
Ben veritabanı dökümü yapan zamanlanmış yedekleme komut dosyası var. Tarih zaman damgasını dosya adına nasıl ekleyebilirim?
Windows ve CMD hakkında konuşuyorum.
Yanıtlar:
Komut istemi ve toplu dosyalarında kullanabilirsiniz %date%
ve %time%
sırasıyla tarih ve saati dönmek için. Tarih iyi çalışıyor, ancak döndürülen zaman değeri dosya adlarında kullanım için yasadışı olan iki nokta üst üste içeriyor, ancak bunları kaldırmanın bir yolu var.
Şunun gibi bir şey kullanın:
COPY file.txt file_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
Bu, aşağıdaki gibi bir dosya adı oluşturur: file_172215_01062009.txt
Güncelleme: Aşağıdaki yorumlarda bu komutun yanı sıra önleyebileceğiniz bazı potansiyel sorunlar var.
%DATE%
ve %TIME%
yerel ayarlara dikkat edin! Bu, Avrupa makinesinde elde edeceğiniz anlamına gelir DD.MM.YYYY
. Arrgh.
Kullanım %DATE%
ve / veya %TIME
isteğe bağlı olarak kullanarak, dosya izin verilmez karakterleri ikame ortam değişkenleri %name:from=to%
( %TIME::=%
her iki nokta üst üste kaldırmak).
teori »eko% tarih% 2009-06-01 teori »eko% zaman% 16: 30: 41,46 teori »eko% zaman :: =% 163052,17 teori »eko% zaman :: =,% 16,30,58,68 teori »yankı yedekleme-% tarih% -% zaman :: = -%. zip Yedekleme-2009-06-01-16-31-18,82.zip
set tmp=%tmp:x=y%
vb.
Bölgesel ayar ne olursa olsun uygun tarihi almanın tek güvenilir yolu, foxidrive @ /programming/11037831/filename-timestamp-in-windows-cmd-batch-script çözümü
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
Dosya adında% DATE% değişkenini kullanın.
% TIME% değişkeni de var, ancak dosya adında izin verilmeyen karakterler içeriyor.
Aşağıda, oluşturulan dosyanın adında bir tarih ve saatin bulunduğu yeni bir dosyaya metin satırı yazmanın bir örneği verilmiştir.
echo "testfile" >> backup-%DATE%.txt