Saludos,
Puedes usar los Tokens que permite For /F, es decir, cortar en trozos la salida de un comando mediante un caracter (en este caso el la Coma y el Espacio) y luego solo tomar los trozos que uno necesite:
- For-  /F "tokens=3,4,5,6,8,* delims=, "  %%a In (
 
-   'Reg Query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems" /V Windows' 
-   Echo %%a %%b %%c- , %%d- ,2048  %%e %%f
 
- ) 
Lo cual devuelve:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,2048 Windows=On SubSystemType=Windows
ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThrea
ds=16
---
Teniendo en cuenta que los Tokens completos serían
+-------------------------------------------------------------+--------------------+
| 1                                                           | 2                  |
+-------------------------------------------------------------+--------------------+
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session | Manager\SubSystems |
+-------------------------------------------------------------+--------------------+
| Windows                                                     | REG_EXPAND_SZ      |
+-------------------------------------------------------------+--------------------+
+---------------------------------+--------------------------+--------------------+
| 3                               | 4                        | 5                  |
+---------------------------------+--------------------------+--------------------+
|                                 |                          |                    |
+---------------------------------+--------------------------+--------------------+
| %SystemRoot%\system32\csrss.exe | ObjectDirectory=\Windows | SharedSection=1024 |
+---------------------------------+--------------------------+--------------------+
+-------+-----+------------+
| 6     | 7   | 8          |
+-------+-----+------------+
|       |     |            |
+-------+-----+------------+
| 20480 | 768 | Windows=On |
+-------+-----+------------+
+-------------------------------------------------------------------------------------------------------
| *                                                                                                                                     
+-------------------------------------------------------------------------------------------------------
|                                                                                                                                       
+-------------------------------------------------------------------------------------------------------
| SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16
+-------------------------------------------------------------------------------------------------------La primera línea se pierde (obvia) porque no tiene el token 3
Para que haga la modificación en el Registro debes cambiar el Echo por un Reg Add así:
- For-  /F "tokens=3,4,5,6,8,* delims=, "  %%a In (
 
-   'Reg Query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems" /V Windows' 
-   Echo %%a %%b %%c- , %%d- ,2048  %%e %%f
 
-   Reg Add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems" /V Windows /T REG_EXPAND_SZ /D "%%a %%b %%c,%%d,2048 %%e %%f" /F 
- ) 
También recuerda que como se está modificando un valor de HKLM será necesario ejecutar el Script con permisos de Administrador