2012-07-18 13 views
10

Mam listę plików zip z datą i godziną dodaną jak yyyymmdd_hhmmss_Demos.zip. Teraz, jak uzyskać najnowszy plik zip w katalogu źródłowym. Muszę skopiować ten plik do celu za pomocą komendy copy.Jak uzyskać najnowszy plik przy użyciu skryptu wsadowego w systemie Windows

Znalazłem informacje o forfiles, ale nie mam pojęcia, jak zrobić to przez kilka sekund.

+1

możliwy duplikat [Jak mogę napisać skrypt wsadowy Windows do skopiowania najnowszy plik z katalogu?] (Http://stackoverflow.com/questions/97371/how-do-i-write-a-windows-batch-script-to-copy-the-najnowszy-plik-z-katalogu) Nie jest jasne, czy chcesz ostatnio zmodyfikowany plik, plik ostatnio dodany do katalogu lub pliku o najwyższym rrrrmmdd_hhmmss. –

Odpowiedz

19

Można użyć

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

ze względu na prostotę po prostu umieszczam zestaw plików tekstowych w folderze a i robię cel jako folder b, a więc napisałem to polecenie dla/f "tokeny = *" %% a in ('dir D: \ a/b/od ') do set latest = %% a copy "% najnowszy%" D: \ b Ale to nie działa dla mnie .. co jest nie tak – azzaxp

+0

@azzaxp Spróbuj mojej zaktualizowanej odpowiedzi. Wygląda na to, że katalog był problemem z jakiegoś powodu, nie jestem pewien dlaczego. –

+0

'dir/b/od' wyświetli listę podkatalogów, jeśli takie istnieją. Myślę, że powinieneś wykluczyć je za pomocą przełącznika '/ a-d' (chyba że OP chce kopiować podkatalogi). – 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

Wklejanie kodu bez wyjaśnienia, co robi, nie jest tak użyteczne. Czy możesz dodać opis? – SaeX

Powiązane problemy