przetestować konkretny plik:
dir /ar yourFile.ext >nul 2>nul && echo file is read only || echo file is NOT read only
dostać lista plików tylko do odczytu
dir /ar *
Aby uzyskać listę odczytu/zapisu plików
dir /a-r *
Aby wyświetlić listę wszystkich plików i zgłosić, czy tylko do odczytu lub odczytu/zapisu:
for %%F in (*) do dir /ar "%%F" >nul 2>nul && echo Read Only: %%F|| echo Read/Write: %%F
EDIT
Patrick's answer kończy się niepowodzeniem, jeśli nazwa pliku zawiera !
. Problem ten można rozwiązać poprzez przełączanie opóźnione ekspansji i wyłączanie wewnątrz pętli, ale nie ma innego sposobu, aby badać wartość %%~aF
bez uciekania się do opóźnionego ekspansji, a nawet zmienna:
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
)
)
Jakie pliku wsadowym? bash, DOS ...? –
Pliki wsadowe Windows, jak widać od niego, wspominając% ~ a. – Joey