Per testare un file specifico:
dir /ar yourFile.ext >nul 2>nul && echo file is read only || echo file is NOT read only
Per ottenere un elenco dei file di sola lettura
dir /ar *
per ottenere una lista di lettura/scrittura di file
dir /a-r *
Per elencare tutti i file e riferire se di sola lettura o lettura/scrittura:
for %%F in (*) do dir /ar "%%F" >nul 2>nul && echo Read Only: %%F|| echo Read/Write: %%F
EDIT
Patrick's answer non riesce se il nome del file contiene !
. Questo può essere risolto commutando l'espansione ritardata on e off all'interno del ciclo, ma c'è un altro modo per sondare il valore %%~aF
senza ricorrere a espansione in ritardo, o addirittura una variabile d'ambiente:
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
)
)
Che tipo di file batch? bash, DOS ...? –
File batch di Windows, come potete vedere da lui menzionando% ~ a. – Joey