Для проверки конкретного файла:
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
Patrick's answer сбой, если имя файла содержит !
. Эту проблему можно решить, переключая замедленное разложение и выключается в течение цикла, но есть и другой способ, чтобы исследовать значение %%~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
)
)
Какой пакетный файл? bash, DOS ...? –
Пакетные файлы Windows, как вы можете видеть у него упоминание% ~ a. – Joey