Я не уверен, понимаю, почему вы используете powershell для этой задачи:
Set /P "$_=" 0< "C:\temp\serversetup2\num.txt" & ("%__AppDir__%cmd.exe" /D/Q/V/C Echo !$_!) 1> "num2.txt"
Но для этого попробуйте вот так:
"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoProfile "Get-Content 'C:\temp\serversetup2\num.txt' | Select-Object -Index 0" 1> "num2.txt"
Или, возможно, это:
"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoProfile "Get-Content 'C:\temp\serversetup2\num.txt' | Select-Object -Index 0 | Set-Content 'num2.txt'"