Удалите как скрытые, так и обычные файлы с помощью cmd

Следующая строка рекурсивно удаляет только СКРЫТЫЕ файлы с расширением .mta

del /S /A:H <folder_name> *.mta

Что я хочу сделать, так это удалить как скрытые, так и обычные файлы с расширением .mta. Как это сделать?


person Tural Ali    schedule 11.12.2011    source источник


Ответы (2)


Используйте /a отдельно: del /s /a *.mta

eg:

C:\temp\z>attrib *
A   H        C:\temp\z\hidden
A            C:\temp\z\normal
C:\temp\z>del /s /a *

C:\temp\z\*, Are you sure (Y/N)? y
Deleted file - C:\temp\z\hidden
Deleted file - C:\temp\z\normal
person patthoyts    schedule 11.12.2011
comment
Нет - просто удалили. Однако вы хотите что-то вроде for /f %F in ('dir /b/a *.mta') do if not exists %~nF echo %F для получения списка файлов, подходящих для очистки. - person patthoyts; 11.12.2011
comment
stackoverflow.com/questions/8463916/ - person Tural Ali; 11.12.2011

for /f %F in ('dir %cd%\* /s /b /a:-D ^| findstr /vile ".cab .exe .bat"') do del /a "%F"

Я взял большую часть этой формы с другого сайта и объединил ее с моим знанием DOS, и в основном вы открываете командную строку в Windows, меняете каталог на корень того, из которого вы хотите удалить файлы, затем он сканирует (S) каталог с помощью (B) извлечения всех файлов.
Файлы с расширениями .cab, .exe и .bat не будут представлены переменной %F, поэтому никогда не будут удалены.
удалите все типы файловых архивов в %F. Вы можете добавить /a:H только для скрытых файлов или любого бита архива, который вы хотите включить или не включить, подав в суд - перед переключателем «Архив».

person E'Frustrated'S    schedule 18.09.2016