小编Blo*_*ied的帖子

如何在set/replace命令中转义"〜"?

我正在尝试在批处理脚本中替换所有~with的实例,{~}以便VBScript不会假设我在将其传递给sendKeys时按Enter键,但是,该变量一直被替换为替换它的文字字符串.

例如,

rem Intended function;
rem input  = Hello~world.
rem output = Hello{~}world.
Run Code Online (Sandbox Code Playgroud)

但是每次都没有做任何事情,或者将refVar设置为文字字符串refVar:~={~}.

这是我尝试过的;

set refVar=!refVar:~={~}!

rem Also
set refVar=%refVar:~={~}%

rem and...
set refVar=%refVar:^~=^{^~^}%

rem and of course;
set refVar=!refVar:^~=^{^~^}!

rem and even:

set "pre=~"
set "post={~}"
set refVar=%refVar:!pre!=!post!%

rem and the same set commands with;
set refVar=!refVar:%pre%=%post%!
Run Code Online (Sandbox Code Playgroud)

我错过了逃避这种方法的方法吗?我很确定它与~在类似命令中成为位置字符有关.

我知道在VBScript中可能有一种方法可以解决这个问题,但这让我很难在没有明显变通方法的情况下获得限制.

batch-file

6
推荐指数
1
解决办法
1089
查看次数

标签 统计

batch-file ×1