[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理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
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

个人表示比菜鸟还菜鸟,正在学习中……

TOP

在 copy 后面 加 /b 试下呢

TOP

回复 3# terse
加了/b还是会有空格,可能需要用命令删除后面的空格

TOP

回复 2# 377563714


    嗯好,一起努力

TOP

第8行“>>c.txt echo !var! ”,后面有个空格
1

评分人数

TOP

回复 6# wscript


    可以了,确实是这个问题,后面多了空格。看来以后写批处理要细心才行。谢谢你了!!!!!

TOP

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

TOP

返回列表