Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何在批处理脚本中替换等号_Batch File_Batch Processing - Fatal编程技术网

Batch file 如何在批处理脚本中替换等号

Batch file 如何在批处理脚本中替换等号,batch-file,batch-processing,Batch File,Batch Processing,我想用 for/f“tokens=*delims=“%%A in(%INTEXTFILE%)do( 设置字符串=%%A 延迟扩展 设置修改=!字符串:^=^>%OUTTEXTFILE% 端部 ) 输出:没有变化 由于等号和双引号而发现问题。@echo off @echo off SET "string=<Context useHttpOnly="false">" setlocal EnableDelayedExpansion echo String: !string! for /F

我想用

for/f“tokens=*delims=“%%A in(%INTEXTFILE%)do(
设置字符串=%%A
延迟扩展
设置修改=!字符串:^=^>%OUTTEXTFILE%
端部
)
输出:没有变化

由于等号和双引号而发现问题。

@echo off
@echo off
SET "string=<Context useHttpOnly="false">"
setlocal EnableDelayedExpansion
echo String: !string!
for /F "tokens=1,2 delims==>" %%i in ("!string!") do (
   if "%%i" equ "<Context useHttpOnly" if "%%~j" equ "false" set "modified=<Context>"
)
echo Modified: !modified!
设置“字符串=” setlocal EnableDelayedExpansion 回音字符串:!一串 对于/F“tokens=1,2 delims==>”(!string!)中的%%i do(
如果“%%i”eq”这里有一个名为repl.bat的助手批处理文件-

此命令可能适用于您

type file.txt|repl "<Context.*.false.>" "<Context>" >newfile.txt
键入file.txt | repl“”>newfile.txt

Batch在我看来对这类东西来说很糟糕。你可以使用这样的方法:剥离属性。只需输入你想要保留的标签和属性,然后按submit。我想如果你必须多次这样做,这是行不通的。在处理字符串操作和特殊字符时,Batch是一个主要的麻烦。可以这样做,但不能没有限制。如果要执行字符串操作,强烈建议您使用其他脚本语言,如JScript/VBScript或PowerShell。请看,我已经尝试过了,但不起作用。我已在单独的bat文件中编写并运行了它,但没有成功。实际上,我必须在xml文件中替换此字符串。所以我必须在xml文件中找到它并替换它。。。
type file.txt|repl "<Context.*.false.>" "<Context>" >newfile.txt