Setlocal / endlocal e a sintaxe FOR estão presentes desde pelo menos 1996. O Windows NT 4 (julho de 1996) os incluiu e a maioria, se não todo o que vemos hoje. As maiores mudanças desde então vieram com o Windows 2000 (dezembro de 1999). Apenas um exemplo: nesse momento, um par adicional de switches está disponível para setlocal: ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION. Um script que é executado no NT4 deve ser executado em todos os sistemas operacionais da família NT desde (2000, XP, Vista, 7, 8, 8.1 e Windows 10, além do Server 2003 até 2016). As páginas de script de Rob van der Woude incluem uma lista de comandos, incluindo informações sobre qual SO em que apareceram pela primeira vez. Você pode usar isso para garantir compatibilidade com versões anteriores.