Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在批处理中为循环使用变量_Batch File - Fatal编程技术网

Batch file 在批处理中为循环使用变量

Batch file 在批处理中为循环使用变量,batch-file,Batch File,我在windows批处理中有以下语句 set machinename=%1 @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i 如何用我的变量machinename替换默认值?如何: FOR /f "tokens=*" %%i IN ('docker-machine env --shell cmd "%~1"') DO %%~i 不需要machineName变量,因为machineName指向%

我在windows批处理中有以下语句

set machinename=%1
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
如何用我的变量machinename替换默认值?

如何:

FOR /f "tokens=*" %%i IN ('docker-machine env --shell cmd "%~1"') DO %%~i
不需要machineName变量,因为machineName指向%1。~表示删除周围的引号,并添加额外的引号,作为预防措施


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

您只是想了解如何在批处理文件中使用变量吗?该代码在批处理文件中永远不会工作。在您修复了响应@Squashman注释的代码后,请将默认值替换为%1或%machinename%打开命令提示窗口并运行/?。这将输出第四段第一句的for命令帮助:要在批处理程序中使用for命令,请指定%%variable而不是%variable。下一次运行调用/?输出帮助中解释了如何在批处理文件中引用参数。然后运行set/?输出帮助解释了环境变量的用法。如果需要命令列表,请在命令提示窗口帮助中运行。