Board logo

标题: [文件操作] [已解决]批处理for命令替换字符串为何多出几个空格? [打印本页]

作者: FXW    时间: 2013-11-10 01:00     标题: [已解决]批处理for命令替换字符串为何多出几个空格?

假如有一个文本a.txt
内容是:“hello,fxw"
我想把“fxw”替换为“bathome”,但是替换成功后,会在后面多出几个空格
比如原来的内容是:“hello,fxw”(没有空格)
替换之后就变成了:“hello,bathome口口口”(“口”表示空格,空格数不定)
下面是代码:
  1. @echo off&&setlocal enabledelayedexpansion
  2. set location=bathome
  3. for /f "delims=" %%a in (a.txt) do (
  4. set var=%%a
  5. set "var=!var:fxw=%location%!"
  6. >>c.txt echo !var!
  7. )
  8. copy /y c.txt a.txt
  9. if exist c.txt del c.txt/f/q
复制代码

作者: 377563714    时间: 2013-11-10 09:35

个人表示比菜鸟还菜鸟,正在学习中……
作者: terse    时间: 2013-11-10 10:53

在 copy 后面 加 /b 试下呢
作者: FXW    时间: 2013-11-10 12:36

回复 3# terse
加了/b还是会有空格,可能需要用命令删除后面的空格
作者: FXW    时间: 2013-11-10 12:36

回复 2# 377563714


    嗯好,一起努力
作者: wscript    时间: 2013-11-10 12:50

第8行“>>c.txt echo !var! ”,后面有个空格
作者: FXW    时间: 2013-11-10 13:04

回复 6# wscript


    可以了,确实是这个问题,后面多了空格。看来以后写批处理要细心才行。谢谢你了!!!!!
作者: hzcxdgioa    时间: 2013-11-28 22:00

看看究竟什么情况。。。。。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2