【问题标题】:Concatenate env variable value with string in command line在命令行中将环境变量值与字符串连接起来
【发布时间】:2013-11-11 08:51:44
【问题描述】:

这是 Windows 7 命令提示符问题。

假设我有以下一种方式设置的环境变量:

set FILE_SRC="D:\Users\me\Documents and Settings"

我想调用表单命令行实用程序,它将获取目录文件之一作为参数:

fooUtil.exe %FILE_SRC%\fileName.txt

在这种情况下,shell 无法构造正确的路径字符串。而不是它实用程序获取下一个参数:

"D:\Users\me\Documents and Settings"\fileName.txt

什么是正确的方法?同样,我谈论的是提示命令行而不是批处理文件。

【问题讨论】:

    标签: windows shell command-line


    【解决方案1】:

    设置变量时只需跳过引号。该变量将设置为以换行符结尾的值,而不是空格。

    【讨论】:

    • 谢谢,它有效。我只需要在调用 fooUtil.exe "%FILE_SRC%\fileName.txt" 时添加引号
    • 在使用由 Windows 设置的环境变量(如 %DESKTOP%)时,正确的方法是什么?
    • @serilain,我不确定你的意思是什么?内置变量和用户创建的变量之间没有区别,至少在字符串连接中如何处理它们时没有区别 - 至少据我所知没有。
    【解决方案2】:

    我做到了……

    set "FILE_SRC=D:\Users\me\Documents and Settings" fooUtil.exe "%FILE_SRC%\fileName.txt"

    这也适用于特殊字符。

    set "line=lines & edges = figures" @echo "%line%"

    【讨论】:

    • 谢谢先生!我在业余时间处理一个批处理文件,该文件将主要自动化(希望)包含一堆现在必须手动执行的语句的 SQL 脚本。我已经提示用户输入,然后在 SQL 语句中使用该输入。
    猜你喜欢
    • 1970-01-01
    • 2011-05-13
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 2016-01-28
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多