【问题标题】:How to enter variable to a urll in batch file如何在批处理文件中将变量输入到url
【发布时间】:2014-03-12 18:25:35
【问题描述】:

我有一个文本文件,如下所示:

Hello
World
How
Are
You

我有一个只将最后一行设置为 var 的 for 循环:

setLocal EnableDelayedExpansion
for /f "tokens=* delims=" %%a in (file.txt) do (
set var_test=%%a
)

当我回显 %var_test% 时,它会打印出整个文件

当我回显 !var_test! 时,它只打印最后一行

现在我正在尝试将最后一行回显到 url:www.mysite.com/You&123

所以我正在做echo www.mysite.com/%var_test%&123 并在 url 中获取整个文件

如果我在做echo www.mysite.com/!var_test!&123 我得到www.mysite.com/!var_test!&123 而不是var 的内容

【问题讨论】:

    标签: variables batch-file echo


    【解决方案1】:

    这在 Windows 上对我来说很好用:

    @echo off
    setLocal EnableDelayedExpansion
    for /f "tokens=* delims=" %%a in (file.txt) do (
        set var_test=%%a
        echo www.mysite.com/^!var_test^!^&123
    )
    

    注意!& 之前的^,以确保它们确实被解释为命令。

    【讨论】:

    • 谢谢。没用。它打印我 var_test 而不是内容。但我尝试了其他方法,谢谢
    【解决方案2】:
    setLocal
    for /f "tokens=* delims=" %%a in (file.txt) do (
    set var_test=%%a
    )
    echo www.mysite.com/%var_test%^&123
    

    应该echo字符串

    www.mysite.com/You&123
    

    如果那是你想要的。遗憾的是,您没有向我们展示您在上下文中“在做什么”,也没有向我们展示您真正想要的输出。

    【讨论】:

    • 谢谢。我想要字符串 www.mysite.com/You&123,但我没有得到它。我得到了 www.mysite.com/Hello World How Are You&123。但我试图做其他事情。还是谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2011-03-05
    • 2011-08-19
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多