在批处理 FOR 循环中使用变量



我在Windows批处理中有以下语句。

set machinename=%1
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

如何将默认值替换为我的变量"机器名称"?

这个怎么样:

FOR /f "tokens=*" %%i IN ('docker-machine env --shell cmd "%~1"') DO %%~i

不需要有machineName变量,因为machineName指向%1~表示删除周围的引号,并添加额外的引号,以防万一。

另外,%i应更改为 %%i . %i用于命令行,%%i用于批处理文件。