【问题标题】:Batch path substitution on variables变量的批量路径替换
【发布时间】:2016-05-08 16:36:19
【问题描述】:

我怎样才能像在%0 .. %9(如%~dp0)上做同样的替换,但在一个变量上?

例子:

set MYVAR = %*
echo %~dp{%MYVAR%}  <--- how to do that ?

【问题讨论】:

    标签: variables batch-file filepath substitution


    【解决方案1】:

    简短回答:你不能。

    不那么简短的回答:你可以用一个小技巧来做到这一点:

    set "myvar=C:\any folder\subfolder\my file.ext"
    for %%i in ("%myvar%") do echo %%~dpi, %%~ni
    

    for 用于将%variable% 转换为%variable(批处理文件中的%%variable

    【讨论】:

    • 您应该注意到set 也可以在for do 循环中使用。
    • 更需要注意的是,set MYVAR = %* 将变量 %MYVAR % 而不是 %MYVAR% - 设置为以空格开头的值。 `
    猜你喜欢
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2011-09-10
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    相关资源
    最近更新 更多