Batch file 需要批处理代码的解释吗

Batch file 需要批处理代码的解释吗,batch-file,cmd,Batch File,Cmd,有人能帮我解释一下下面的批处理代码在做什么吗 REM CLIENT: CRM_CI_M8626AABBQNBAM200030.1.5 SET name=%CLIENT% FOR /F "tokens=1 delims=_" %%a IN ("%name%" ) DO ( SET name=%%a ) 如果CRM\u CI\u M8626AABBQNBAM200030.1.5在%CLIENT%中,则代码将CRM分配给%name%。Supose var name客户端值为“stackove

有人能帮我解释一下下面的批处理代码在做什么吗

REM CLIENT: CRM_CI_M8626AABBQNBAM200030.1.5
SET name=%CLIENT%
FOR /F "tokens=1 delims=_" %%a IN ("%name%" ) DO (
    SET name=%%a
)

如果CRM\u CI\u M8626AABBQNBAM200030.1.5在%CLIENT%中,则代码将CRM分配给%name%。

Supose var name客户端值为“stackoverflow\u最佳web:-)”

脚本执行后,结果是一个名为“name”和值为“stackoverflow”的环境变量:

执行 结果:
REM CLIENT: CRM_CI_M8626AABBQNBAM200030.1.5
SET name=stackoverflow_the_best_web :-)
FOR /F "tokens=1 delims=_" %a IN ("stackoverflow_the_best_web :-)") DO (SET name=%a )
(SET name=stackoverflow )
C:\Windows\system32>set name
name=stackoverflow