バッチプログラムを実行しているPCの名前を見つけるにはどうすればよいですか?
バッチプログラムを実行しているPCの名前を見つけて、変数として保存できるようにしたいと考えています。何か助けは?
Vikas Guptaが回答したように、事前定義された%COMPUTERNAME%
コンピュータ名がすでに含まれている環境変数。実用的な観点からは、これで十分です。
ただし、バッチファイルによって値が上書きされる可能性があるため、値が正しいことは保証されません。
WMICを使用して、コンピューター名を直接読み取ることができます。
for /f "skip=1 delims=" %%A in (
'wmic computersystem get name'
) do for /f "delims=" %%B in ("%%A") do set "compName=%%A"
追加のFORループは、WMICのUnicode出力と相互作用するFOR/Fのアーティファクトである不要な復帰文字を排除します。ループが1つしかない場合、各行の終わりにキャリッジリターンがあり、問題が発生する可能性があります。
Windowsでは、通常、環境変数はすでに設定されており、使用できます-
echo %ComputerName%
PowerShellでは、次も使用できます。
[Environment]::MachineName
ここでは、値は.Netから取得されるため、$Env:ComputerName
を使用する問題を回避できます。