【问题标题】:Create a list from a batch file从批处理文件创建列表
【发布时间】:2014-04-03 21:04:05
【问题描述】:

我为工作构建 SCCM 服务器。我们有一组源文件,每次构建都需要复制到多个服务器。我正在尝试创建一个脚本,提示用户输入构建中涉及的角色服务器的数量,然后运行一个循环并询问“X”个服务器的名称,然后在文本中输入这些服务器的名称像这样的文件:

                   Server1
                   Server2
                   Server3    etc..

然后我打算使用该服务器名称列表对这些服务器进行 xcopy。我想在前端完成所有输入,以便用户可以启动它并离开它,因为复制这些文件可能需要几个小时。

到目前为止,这是我的代码,它在询问第一个服务器名称后才关闭。 (我也将第一个条目留在了 do 循环之外,以便我可以使用它来清除文件中的任何旧输入)

 @echo off
Set /p ServerCount = "How Many Role Servers? : " %=%
Set /p ServerName = "Enter Server Name : " %=%
 Echo %ServerName% >Test.txt    
Do i = 2 to %servercount% by 1
 Set /p ServerName = "Enter Server Name : " %=%
 Echo %ServerName% >> Test.txt
 Echo %i
enddo

【问题讨论】:

    标签: loops batch-file text output


    【解决方案1】:

    BAT 中不存在 Do 循环,您必须使用 for 循环:

    @echo off
    Set /p ServerCount="How Many Role Servers? : 
    
    setlocal EnableDelayedExpansion
    for /l %%a in (1,1,%serverCount%) do (
    Set /p ServerName=Enter Server Name [%%a]: 
    Echo !ServerName!>>Test.txt
    )
    

    【讨论】:

    • 感谢您的帮助,但是,当我输入第一个服务器名称时,文件仍然关闭
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2013-08-31
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多