CMD 中变量的全名

Full name to variable in CMD

这应该是非常基本的,但我想不通。

我试图将用户的全名设置为一个变量,以便在我的批处理脚本中进一步使用。

我觉得应该是这样的:

SET VAR=NET USER %username% /DOMAIN |查找 /I "Full name"; echo "%VAR%"

NET USER %username% /DOMAIN | FIND /I "Full name" 独立运行,但当我尝试将其设置为变量时却无法运行。

也许这是一个更普遍的问题..

您可以使用临时文件或for /f来实现:

临时文件解决办法:

NET USER %username% /DOMAIN | FIND /I "Full name" >tmp.txt
set /p VAR=<tmp.txt
echo %VAR%
del tmp.txt

for /f 解决方案:

for /f "tokens=*" %i in ('NET USER %username% /DOMAIN ^| FIND /I "Full name"') do set VAR=%i

注:

  • 如果在批处理文件中使用上述命令,请将 % 替换为 %%
  • 使用"tokens=*"匹配所有命令的输出
  • 使用
  • ^ 是因为 |(管道)必须是 escaped.

您可以使用已经指定的 %username% 和 %userdomain%。

键入 set 以获得值列表。

键入 set /? 以获得动态变量列表。