【问题标题】:Batch file concatenate command line argument批处理文件连接命令行参数
【发布时间】:2012-11-15 16:53:13
【问题描述】:

例如,我创建了一个名为 concatenate.bat 的批处理文件:

@echo off
set foo=%1\bar
echo %foo%

当我运行concatenate.bat "C:\somewhere\with spaces"

我希望 foo 输出: "C:\somewhere\with spaces\bar"

但我得到的是: "C:\somewhere\with spaces"\bar


我也试过了:set "foo=%1\bar"

哪个输出:"C:\somewhere\with spaces"\bar


这样做的正确方法是什么?

【问题讨论】:

    标签: batch-file


    【解决方案1】:
    @echo off
    set foo="%~1\bar"
    echo %foo%
    

    【讨论】:

    • 没问题,很高兴我能帮上忙 :)
    • 有人能解释一下这个答案是怎么回事吗?
    • 关于 %~1 作用的解释可以在this answer 中找到。简而言之,它会扩展 %1 删除任何周围的引号。
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多