Steam ACF Read-Only Manager
🧩 Syntax:
@echo off
title Steam ACF Read-Only Manager
setlocal enabledelayedexpansion
:: Collect files
set i=0
for %%f in (*.acf) do (
set /a i+=1
set "file[!i!]=%%f"
:: Get the game name
set "name="
for /f "tokens=1,* delims= " %%a in ('findstr /C:"\"name\"" "%%f"') do (
set "name=%%~b"
)
:: Check if read-only
attrib %%f | find "R" >nul
if !errorlevel! == 0 (
echo !i!. [R] !name! ^(%%f^)
) else (
echo !i!. [ ] !name! ^(%%f^)
)
)
if %i% == 0 (
echo No files found with extension acf.
goto :eof
)
:: Ask for number
:selection
set /p "choice=Enter number to toggle read-only: "
:: Validate
if not defined file[%choice%] (
echo Invalid choice. Please try again.
goto :selection
)
set "target=!file[%choice%]!"
:: Toggle read-only
attrib %target% | find "R" >nul
if %errorlevel%==0 (
attrib -r "%target%"
echo Removed read-only from "%target%"
) else (
attrib +r "%target%"
echo Set read-only on "%target%"
)
:: Restart script
endlocal
set "choice="
cls
%0