【问题标题】:How to pass multiple values in a single go to a batch file如何一次将多个值传递到批处理文件
【发布时间】:2019-09-25 04:32:06
【问题描述】:

我有一个脚本 (.bat) 文件,它需要来自用户输入的 5 个值。这些输入是字符串格式:登录 ID、环境、文件名 1、文件名 2、区域。 我要求用户通过 set /p 命令输入它,但想使用命令行传递所有值。

例如:test.bat value1, value2, value3, value4, value5

这些值应该在批处理中单独捕获。

我尝试将其存储到文本文件中,然后从中读取。虽然这有助于捕获值,但实际上这不是必需的。

看看下面的代码:

@echo off

< para.txt (
set /p Login_id=
set /p envionment=
set /p Archive=
set /p import=
set /p region=
)

echo %Login_id%
echo %envionment%
echo %Archive%
echo %import%
echo %region%

pause >nul

【问题讨论】:

    标签: batch-file exe


    【解决方案1】:

    通常您可以按如下方式处理批处理文件中的输入参数:

    set Login_id=%1
    set envionment=%2
    set Archive=%3
    set import=%4
    set region=%5
    

    【讨论】:

    • 一般来说,是的 - 但语法 set "Login_id=%~1" 是首选,因为包含空格的参数可以通过“引用参数”(其中 ~ 删除封闭引号)和引号来分配在命令中确保分配给变量的值中不包含任何多余的和明显不可见的尾随空格。最后一个潜在问题在您第一次遇到时可能是一场噩梦......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    相关资源
    最近更新 更多