Para probar un archivo específico:
dir /ar yourFile.ext >nul 2>nul && echo file is read only || echo file is NOT read only
Para obtener una lista de archivos de solo lectura
dir /ar *
Para obtener una lista de lectura/escritura de archivos
dir /a-r *
Para una lista de todos los archivos e informar si sólo lectura o de lectura/escritura:
for %%F in (*) do dir /ar "%%F" >nul 2>nul && echo Read Only: %%F|| echo Read/Write: %%F
EDITAR
Patrick's answer falla si el nombre del archivo contiene !
. Esto se puede resolver alternando expansión retardada y fuera dentro del bucle, pero hay otra forma de estudiar el valor %%~aF
sin recurrir a la expansión retardada, o incluso una variable de entorno:
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
)
)
¿Qué tipo de archivo por lotes? Bash, DOS ...? –
Windows archivos por lotes, como se puede ver de él mencionando% ~ a. – Joey