代码之家  ›  专栏  ›  技术社区  ›  Jason Kester

如何将ec2 windows机器的实例id获取到批处理变量中

  •  0
  • Jason Kester  · 技术社区  · 16 年前

    我有一个批处理文件,希望在启动ec2 windows ami时运行。我想从该批处理文件运行的程序将ec2机器的实例i d作为参数。将实例id作为参数传递给该程序的最简单方法是什么?

    Amazon's Documentation on the subject ,我看到您应该向指定的url发出wget并解析响应。因此,另一种表达这个问题的方式可能是“如何将http请求的内容作为windows批处理文件中的参数传递给程序”

    在伪代码中,我想这样做:

    set ID = GET http://169.254.169.254/2008-08-08/meta-data/instance-id
    myprogram.exe /instanceID=%ID%
    

    对我该怎么做有什么建议吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    不能在批处理文件中直接打开URL。您当然可以使用WGET或类似的方法来检索该URL的内容。然后,您可以得到一个文件(其内容可以分配给环境变量)参见 Set= log.txt in batch 或者,您将从程序中获得输出,在这种情况下,您可以将其包装成

    for /f "usebackq delims=" %%x in (`print_contents_of_url http://169.254.169.254/2008-08-08/meta-data/instance-id`) do set ID=%%x
    

    那就定了 %ID% 到那个url的服务器响应[假设程序执行我命名的操作]。

    不过,在这两种情况下,您都需要一个单独的程序来讲http。