Для проверки конкретного файла:
dir /ar yourFile.ext >nul 2>nul && echo file is read only || echo file is NOT read only
Чтобы получить список файлов только для чтения
dir /ar *
Чтобы получить список файлов для чтения / записи
dir /a-r *
Чтобы вывести список всех файлов и сообщить, доступны ли они только для чтения или для чтения / записи:
for %%F in (*) do dir /ar "%%F" >nul 2>nul && echo Read Only: %%F|| echo Read/Write: %%F
EDIT
Ответ Патрика не удастся, если имя файла содержит !
. Эту проблему можно решить, включив и выключив отложенное расширение в цикле, но есть и другой способ проверить значение %%~aF
без обращения к отложенному расширению или даже к переменной среды:
for %%F in (*) do for /f "tokens=1,2 delims=a" %%A in ("%%~aF") do (
if "%%B" equ "" (
echo "%%F" is NOT read only
) else (
echo "%%F" is read only
)
)