How to find the PCs name in a batch script?
On Windows, typically an environment variable is already set and available for you to use -
echo %ComputerName%
As Vikas Gupta has answered, you can use the pre-defined %COMPUTERNAME%
environment variable that already contains the computer name. From a practical stand point, this should be all you need.
However, it is possible for a batch file to over-write the value, so it is not guaranteed that the value be correct.
You can use WMIC to directly read the computer name.
for /f "skip=1 delims=" %%A in (
'wmic computersystem get name'
) do for /f "delims=" %%B in ("%%A") do set "compName=%%A"
The extra FOR loop eliminates unwanted carriage return characters that are an artifact of FOR /F interacting with the Unicode output of WMIC. With only one loop there is a carriage return at the end of each line that can cause problems.