大佬教程收集整理的这篇文章主要介绍了变量 – 批处理脚本帮助 – 将DelayedExpansion Var的子字符串替换为另一个DelayedExpansion Var,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在另一个变量中扩展变量的经典方法使用外部的延迟扩展和内部的正常:echo!var1:SomeText =%var2%!“
我打算假设你想为两者使用延迟扩展是有原因的.也许扩展发生在代码块中,其中一个变量设置在同一个块中.正常扩展将不起作用,因为在块结束之前,它无法看到块内分配的值.
解决方案1
call echo %%var1:SomeText=!var2!%%
其工作原理如下:
>解析器的百分比阶段将双倍百分比转换为单个百分比,从而产生
call echo%var1:SomeText =!var2!%
>延迟扩展扩展!var2!,导致
调用echo%var1:SomeText = replacementText%
>执行CALL ECHO并进行额外的百分比处理.执行搜索和替换扩展,导致ResultOfSearchAndreplace回显到屏幕.
这有效,但速度相对较慢.如果扩展值具有像>,& ;;等特殊字符,它也可能会出现问题.或者.我很少使用这种技术.
解决方案2
快速且更可靠的方法是分两步进行扩展.首先转移!var2的值!到FOR变量.然后,您可以使用FOR变量作为替换字符串,并在第二步中使用延迟扩展.这完全避免了更脆的百分比膨胀.
for /f "delims=" %%A in ("!var2!") do echo !var1:SomeText=%%A!
以上是大佬教程为你收集整理的变量 – 批处理脚本帮助 – 将DelayedExpansion Var的子字符串替换为另一个DelayedExpansion Var全部内容,希望文章能够帮你解决变量 – 批处理脚本帮助 – 将DelayedExpansion Var的子字符串替换为另一个DelayedExpansion Var所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。