我有这段代码来替换JS文件中的一些文本:
@echo off &setlocal
set "search=showLog: true"
set "replace=showLog: false"
set "textfile=globalsDebugTest.js"
set "newfile=new.js"
(for /f "delims=" %%i in ('findstr /n "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
type "%newfile%"
此脚本的问题在于在每个新行中添加行号
我只想用以下代码替换这个字符串:“showLog:true”:“showLog:false”。
知道怎么做吗?
答案 0 :(得分:0)
for /f "tokens=1*delims=:" %%h in ('findstr /n "^" "%textfile%"') do (
(请注意,添加了tokens=
个词组,delims
被分配了:
,而循环元变量被更改为h
。)< / p>
添加tokens=
表示元变量h
在分隔符(冒号)之前接收数字,i
在冒号之后接收该行的剩余部分。这使更改保持在一行。
另一种选择是简单地从/n
中删除findstr
,这将导致从输出中删除所有空行。