【发布时间】:2016-05-08 16:36:19
【问题描述】:
我怎样才能像在%0 .. %9(如%~dp0)上做同样的替换,但在一个变量上?
例子:
set MYVAR = %*
echo %~dp{%MYVAR%} <--- how to do that ?
【问题讨论】:
标签: variables batch-file filepath substitution
我怎样才能像在%0 .. %9(如%~dp0)上做同样的替换,但在一个变量上?
例子:
set MYVAR = %*
echo %~dp{%MYVAR%} <--- how to do that ?
【问题讨论】:
标签: variables batch-file filepath substitution
简短回答:你不能。
不那么简短的回答:你可以用一个小技巧来做到这一点:
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% - 设置为以空格开头的值。 `