加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 参数的CMD变量替换

发布时间:2020-12-14 01:55:56 所属栏目:Windows 来源:网络整理
导读:我试图让CMD等同于以下bash功能: $FOO=foo.bar$BAR=bar$BAZ=baz$echo ${FOO/$BAR/$BAZ}foo.baz 现在,当模式和替换都是时,CMD有一些类似的命令替换 不变: C:set FOO=foo.barC:set BAR=barC:set BAZ=bazC:echo %FOO:bar=baz%foo.baz 但是,我似乎无法在那
我试图让CMD等同于以下bash功能:

$FOO=foo.bar
$BAR=bar
$BAZ=baz
$echo ${FOO/$BAR/$BAZ}
foo.baz

现在,当模式和替换都是时,CMD有一些类似的命令替换
不变:

C:&;set FOO=foo.bar
C:&;set BAR=bar
C:&;set BAZ=baz
C:&;echo %FOO:bar=baz%
foo.baz

但是,我似乎无法在那里引用变量 –

C:&;echo %FOO:%BAR%=%BAZ%%
%foo:bar=baz%

我该怎么办?用于指出在批处理文件中的FOR循环内也可以工作的东西的加分点.

解决方法

以下(批处理文件)应该工作并打印“foo.baz”:

setlocal enabledelayedexpansion
  set FOO=foo.bar
  set BAR=bar
  set BAZ=baz

  echo !FOO:%BAR%:%BAZ%!

(关于你提到的FOR-loop事情,你需要提供更多关于你究竟是什么意思的信息.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读