【问题标题】:从批处理文件中的字符串中删除子字符串[重复]
【发布时间】:2022-01-22 21:05:04
【问题描述】:

我有一个字符串:

C:\src\ci\workspace\Drivers\abcd\abcd1\remove-me

我想删除“remove-me”

我可以这样做:

set var1="C:\src\ci\workspace\Drivers\abcd\abcd1\remove-me"

set var1=%var1:remove-me=%

但在实际情况下,我不想硬编码“remove-me”字符串。我希望它来自我的批处理文件中的一个变量。因此我正在尝试:

set substring="remove-me"
set var1=%var1:%substring%=%

但无法成功,谁能帮忙?

【问题讨论】:

  • set "substring=remove-me" 然后call set "var1=%%var1:%substring%=%%"

标签: batch-file script


【解决方案1】:

这里需要两种不同的变量扩展类型。

setlocal EnableDelayedExpansion

set "substring=remove-me"
set "var1=!var1:%substring%=!"

它有效,因为延迟扩展(带有感叹号)是在百分比扩展阶段之后评估的。

【讨论】:

    猜你喜欢
    • 2011-03-14
    • 2011-08-11
    • 2018-02-20
    • 2014-03-13
    • 2020-11-12
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多