it-swarm.asia

Dosya adındaki geçerli tarih

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.

15
Bogdan Gusiev

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.

21
aalaap

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 
14
user1686

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
4
Eric Ouellet

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
1
Frode Lillerud