Войти

Показать полную графическую версию : [решено] Удалить из папки все файлы с расширением .img кроме самого свежего


Juc
24-09-2018, 06:20
Всем привет, помогите пожалуйста с вопросом...

В папке есть разные файлы, как сделать чтобы в папке оставался всегда 1 файл расширением *.img - самый последний
который был скинут в эту папку, включая разницу в минутах и секундах. Другие папки и файлы с другим расширением не удалялись
только удалялись по маске *.img кроме самого последнего.
CMD файл будет запускаться из это же папки.

Помогите плз? Заранее буду ОЧЕНЬ благодарен, с меня +

Iska
24-09-2018, 07:18
оставался всегда 1 файл расширением *.img - самый последний »
«самый последний» — по дате/времени создания, по дате/времени последней модификации, по дате/времени последнего доступа?

YuS_2
24-09-2018, 08:42
Вот! Это самый верный вопрос.
по дате/времени создания »
for /f "skip=1 delims=" %%i in ('dir /b/a-d/tc/o-d "*.img"') do echo del %%i
по дате/времени последней модификации »
for /f "skip=1 delims=" %%i in ('dir /b/a-d/tw/o-d "*.img"') do echo del %%i
по дате/времени последнего доступа »
for /f "skip=1 delims=" %%i in ('dir /b/a-d/ta/o-d "*.img"') do echo del %%i
echo - удалить в боевых условиях.

Juc
24-09-2018, 12:35
Уточняю по дате изменения. Спасибо работает

Juc
24-09-2018, 20:02
по дате/времени последней модификации » »
Уважаемый YuS_2 спасибо все устраивают. А может есть возможность сделать так чтобы еще и спрашивал какой удалить файл
и была возможность выбора для удаления?

Iska
24-09-2018, 20:40
@echo off
setlocal enableextensions enabledelayedexpansion

echo ------------------------------------
echo List of *.img files
echo ------------------------------------
2>nul dir /b /a:-d /o:n "*.img"
echo ------------------------------------

set /p sFile=Какой удалить файл:

if defined sFile (
if exist "%sFile%" (
del /f /q "%sFile%"
) else (
echo Can't find file [%sFile%].
)
)

endlocal
exit /b 0




© OSzone.net 2001-2012