如何在字符串替换脚本中正确转义'='?

门德里先生

我已经制作了一个批处理脚本,该脚本替换了指定的基于文本的文件中的字符串。在我的文件中,字符串OutDir=bin应替换为,OutDir=Build但输出为bin=OutDir=Build=bin我如何逃避输入=OutDir=bin以使字符串不会出现乱码?我已经尝试过,OutDir^=但是使用胡萝卜也不起作用。

这是我当前的脚本:

@echo off 
    setlocal enableextensions disabledelayedexpansion

    set search=OutDir=bin
    set replace=OutDir=Build

    set textFile=%DOCUMENT%.txt

    for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
        set "line=%%i"
        setlocal enabledelayedexpansion
        >>"%textFile%" echo(!line:%search%=%replace%!
        endlocal
    )

我试图更改查找和替换变量,以补偿=我要替换的字符串中的,但没有一个起作用:

set search= "OutDir=bin"
set replace= "OutDir=Build"

set search="OutDir=bin"
set replace="OutDir=Build"

set "search=OutDir=bin"
set "replace=OutDir=Build"

"set search=OutDir=bin"
"set replace=OutDir=Build"
IT暴徒忍者

=使用PowerShell用批处理替换字符串中的等号

经过测试,然后进行研究,我在StackOverflow上得到了这个答案,然后它也指向该线程并在DosTips上发布,用=纯批处理替换并不容易。

当我遇到批处理脚本的问题时,它需要大量复杂的批处理逻辑,或者只是无法弄清楚如何使其易于工作,我通常会尝试将一些PowerShell合并到混合中,因为它是Windows本机,并且可能更健壮而不是没有复杂逻辑的批处理。

以下批处理脚本实际上将是:

脚本

@echo off
setlocal enableextensions disabledelayedexpansion

set search=OutDir=bin
set replace=OutDir=Build
set textFile=%DOCUMENT%.txt

:PowerShell
SET PSScript=%temp%\~tmpStrRplc.ps1
ECHO (Get-Content "%~dp0%textFile%").replace("%search%", "%replace%") ^| Set-Content "%~dp0%textFile%">"%PSScript%"

SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
EXIT

输出结果

OutDir=Build

更多资源

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在bash脚本中正确转义怪异的字符?

来自分类Dev

如何在Shell脚本中正确进行字符串比较?

来自分类常见问题

如何在PowerShell复制脚本中正确过滤多个字符串

来自分类Dev

如何在Azure DevOps中的Powershell内联脚本中正确连接字符串?

来自分类Dev

如何在Shell脚本中正确进行字符串比较?

来自分类Dev

如何在Powershell中正确地字符串替换而不将替换变量附加到换行符?

来自分类Dev

如何在Powershell中正确地字符串替换而不将替换变量附加到换行符?

来自分类Dev

如何在SonataAdminBundle中正确翻译字符串

来自分类Dev

如何在C中正确输入字符串

来自分类Dev

如何在C中正确返回字符串

来自分类Dev

如何在urlopen中正确编码字符串?

来自分类Dev

如何在urlopen中正确编码字符串?

来自分类Dev

如何在C中正确操作字符串

来自分类Dev

如何在JSF中正确显示字符串的输出?

来自分类Dev

如何在C中正确解析字符串

来自分类Dev

如何在C中正确使用存储的字符串

来自分类Dev

如何在Android中正确提取字符串

来自分类Dev

Bash脚本,字符串未正确替换为转义的$和&字符

来自分类Dev

在原始Django SQL查询中正确转义字符串

来自分类Dev

如何正确替换脚本中包含空格的字符串

来自分类Dev

如何在Bash脚本中正确转义引号?

来自分类Dev

如何在Unix Shell脚本中替换字符串

来自分类Dev

替换字符串中的变量并正确允许转义

来自分类Dev

替换引号后转义字符串的正确方法?

来自分类Dev

替换引号后转义字符串的正确方法?

来自分类Dev

如何在Android中替换JSON字符串中的HTML转义字符

来自分类Dev

如何用字符串替换转义字符

来自分类Dev

如何在Vim的:s ///替换字符串中使用Unicode十六进制转义?

来自分类Dev

如何在if测试中正确使用java子字符串?

Related 相关文章

  1. 1

    如何在bash脚本中正确转义怪异的字符?

  2. 2

    如何在Shell脚本中正确进行字符串比较?

  3. 3

    如何在PowerShell复制脚本中正确过滤多个字符串

  4. 4

    如何在Azure DevOps中的Powershell内联脚本中正确连接字符串?

  5. 5

    如何在Shell脚本中正确进行字符串比较?

  6. 6

    如何在Powershell中正确地字符串替换而不将替换变量附加到换行符?

  7. 7

    如何在Powershell中正确地字符串替换而不将替换变量附加到换行符?

  8. 8

    如何在SonataAdminBundle中正确翻译字符串

  9. 9

    如何在C中正确输入字符串

  10. 10

    如何在C中正确返回字符串

  11. 11

    如何在urlopen中正确编码字符串?

  12. 12

    如何在urlopen中正确编码字符串?

  13. 13

    如何在C中正确操作字符串

  14. 14

    如何在JSF中正确显示字符串的输出?

  15. 15

    如何在C中正确解析字符串

  16. 16

    如何在C中正确使用存储的字符串

  17. 17

    如何在Android中正确提取字符串

  18. 18

    Bash脚本,字符串未正确替换为转义的$和&字符

  19. 19

    在原始Django SQL查询中正确转义字符串

  20. 20

    如何正确替换脚本中包含空格的字符串

  21. 21

    如何在Bash脚本中正确转义引号?

  22. 22

    如何在Unix Shell脚本中替换字符串

  23. 23

    替换字符串中的变量并正确允许转义

  24. 24

    替换引号后转义字符串的正确方法?

  25. 25

    替换引号后转义字符串的正确方法?

  26. 26

    如何在Android中替换JSON字符串中的HTML转义字符

  27. 27

    如何用字符串替换转义字符

  28. 28

    如何在Vim的:s ///替换字符串中使用Unicode十六进制转义?

  29. 29

    如何在if测试中正确使用java子字符串?

热门标签

归档