代码之家  ›  专栏  ›  技术社区  ›  EFraim

如何将用户的字符串从批处理文件输入到环境变量中

  •  30
  • EFraim  · 技术社区  · 15 年前

    我想提示用户输入一些详细信息,然后将其用作命令行参数。

    3 回复  |  直到 8 年前
        1
  •  49
  •   Joey Gumbo    15 年前

    你可以用 set /p 论点:

    SET /P variable=[promptString]

    /P开关允许您将变量的值设置为输入行 由用户输入。在读取前显示指定的promptstring 输入行。promptstring可以为空。

    所以,简单地使用

    set /p Input=Enter some text: 
    

    稍后,可以将该变量用作命令的参数:

    myCommand %Input%
    

    但是要小心,如果您的输入可能包含空格,那么最好引用它:

    myCommand "%Input%"
    
        2
  •  2
  •   EFraim    15 年前

    一种相当迂回的方式,只是为了完整:

     for /f "delims=" %i in ('type CON') do set inp=%i
    

    当然,这需要用^ z作为终结者,所以约翰内斯的答案在所有实际方面都更好。

        3
  •  -3
  •   Rex Ryan    8 年前

    乔伊的建议是互联网上解决这个问题的最佳答案,我希望我能更快地找到答案。

    可以将set与/p参数一起使用:

    set/p input=[提示字符串]

    运行时,将提示您设置[PromptString]的值。

    稍后,您可以使用该变量作为命令的参数,方法是在命令周围加上“%%”:

    mycommand%输入% 但是要小心,如果您的输入可能包含空格,那么最好引用它:

    mycommand“%input%”