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.
Bilgi istemi ve toplu iş komutunda %date%
ve %time%
Tarih ve saati sırasıyla döndürmek 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 file_172215_01062009.txt
Güncelleme: Aşağıdaki yorumlarda bu komutun yanı sıra önleyebileceğiniz bazı potansiyel sorunlar var.
Kullan %DATE%
ve/veya %TIME
ortam değişkenleri, isteğe bağlı olarak dosya adlarında izin verilmeyen karakterlerin yerine %name:from=to%
(%TIME::=%
tüm sütunları kaldırır).
teori "yankı% tarih% 2009-06-01 teori" yankı% zaman% 16: 30: 41,46 teori "yankı% zaman :: =% 163052,17 teori" yankı% zaman :: =,% 16,30,58,68 Teorisi "yankı yedekleme-% tarih% -% zaman :: = -%. Zip Yedekleme-2009-06-01-16 -31-18,82.Zip
Bölgesel ayar ne olursa olsun uygun tarihi almanın tek güvenilir yolu, foxidrive @ https://stackoverflow.com/questions/11037831/filename-timestamp-in-windows-cmd-batch-script =
@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.
Burada, 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