本帖最后由 52hz 于 2023-5-24 09:24 编辑
需求:在文本中查找部分字符串,找到后把整行内容赋值给变量!s!,然后用另一个变量!f!将文本中的整行!s!替换掉。
代码的替换功能可以用,但实际执行一直不成功,测试很多次之后发现好像是因为字符串中有|这个特殊符号导致的,把变量中的|删掉后可以正常替换,加上就失效,我不知道我的推论是不是正确的,如果确实是因为这个特殊符号,请教该怎么办?
代码如下:
其中!s!和!f!变量为前段代码运行出来的结果,两个变量中都有特殊符号|
!s!的值举例:
5|A|AAA11111,BBB22222,CCC33333,DDD44444
!f!的值举例:
8|A|AAA55555,BBB666,CCC777777,DDD44444- for /f "delims=" %%i in (%~dp0skus.txt) do (
- set str=%%i
- call set str=%%str:!s!=!f!%%
- echo !str!>>n-skus.txt
- )
- pause
复制代码 请教:文本的格式固定,所以!s!和!f!必有|,这种情况下该如何解决? |