2012-07-18 6 views
10

yyyymmdd_hhmmss_Demos.zip gibi eklenen tarih ve saat içeren bir zip dosyası listesi var. Şimdi kaynak dizininde en son eklenen zip dosyasını nasıl edineceksiniz. Bu dosyayı copy komutunu kullanarak hedefe kopyalamam gerekiyor.Windows'ta bir toplu iş komut dosyası kullanarak en son dosya nasıl alınır

Forfiles hakkında bazı bilgiler buldum, ancak saniyeler içinde nasıl yapılacağı hakkında bir fikrim yok.

+1

olası yinelenen kullanabilirsiniz [Bir dizinden yeni dosyayı kopyalamak için Windows toplu senaryo yazmak nasıl?] (Http://stackoverflow.com/questions/97371/nasıl-it-i-write-a-windows-batch-script-kopya-en-yeni-dosya-a-dizin) En son değiştirilen dosya, en son eklenen dosyayı isteyip istemediğiniz açık değil dizine veya yyyymmdd_hhmmss en yüksek olan dosyaya. –

cevap

19

Sen

pushd D:\a 
for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a 
copy "%newest%" D:\b 
popd 
+0

basitlik uğruna sadece bir klasöre bir dizi metin dosyaları koymak ve b klasörü olarak hedef yaptık ve bu komutu yazdı for/f "tokens = *" %% a ('dir D: \ a/b/od ') en yenisi = %% kopya "% en yeni%" D: \ b Ama bu benim için işe yaramaz .. sorun nedir – azzaxp

+0

@azzaxp Güncelleştirilen yanıtımı deneyin. Dizinin bir nedenden dolayı problem olduğu anlaşılıyor, neden emin değilim. –

+0

'dir/b/od', varsa alt dizinleri de listeleyecektir. Ben/a-d' anahtarını kullanarak bunları dışlamanız gerektiğini düşünüyorum (tabii ki OP alt dizinleri kopyalamak istemezse) – wmz

0
pushd \\ryap\CONTROL_DATOS 
for /f "tokens=*" %%a in ('dir \\ryap\CONTROL_DATOS /b /od') do set newest=%%a 
Xcopy/Y "\\ryap\CONTROL_DATOS\%newest%" "D:\TXT_SOURCES\" 
popd 
+1

Bazı kodları yapmadan açıklamak, o kadar kullanışlı değildir. Bir açıklama ekleyebilir misiniz? – SaeX