如何使用批处理脚本替换文本文件中单词的一组字符?

时间:2017-10-03 15:39:17

标签: batch-file

编辑**
我有一个名为sample.txt的文本文件,它不断更新。它包含各种路径名:

  

C:/用户/管理员/ ABC
  C:/用户/管理员/ XYZ
  C:/用户/管理员/ JKL
  C:/用户/管理员/ MNO
  ...
  ...

我想将“admin”替换为“admin1”并将该文件保存在sample1.txt中 我试着用这个:

y = admin1  
FOR /F "tokens=* delims=/" %%x in (sample.txt) DO ^  
if %%x==admin (%%y > sample1.txt) else (%%x > sample1.txt)

我的输出应该在sample1.txt中:

  

C:/用户/ ADMIN1 / ABC
  C:/用户/ ADMIN1 / XYZ
  C:/用户/ ADMIN1 / JKL
  C:/用户/ ADMIN1 / MNO

2 个答案:

答案 0 :(得分:2)

这个简单的批处理文件会吗?

@(For /F "Delims=" %%A In ('Find /I "/admin/"^<"sample.txt"'
) Do @Set "_=%%A"&@Call Echo %%_:/admin/=/admin1/%%)>"sample1.txt"

修改以下内容可能不太容易受到sample.txt

中毒字符的影响
@(For /F "Delims=" %%A In ('Find /I "/admin/"^<"sample.txt"'
) Do @Set "_=%%A"&Call Set/P "_=%%_:/admin/=/admin1/%%"<Nul&Echo()>"sample1.txt"

答案 1 :(得分:1)

你可以为bash做以下事情

[mysqld]
net_read_timeout=300
net_write_timeout=300
connect_timeout=300