找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25169|回复: 7

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

[复制链接]
发表于 2013-11-10 01:00:33 | 显示全部楼层 |阅读模式
假如有一个文本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
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-11-10 09:35:59 | 显示全部楼层
个人表示比菜鸟还菜鸟,正在学习中……
发表于 2013-11-10 10:53:57 | 显示全部楼层
在 copy 后面 加 /b 试下呢
 楼主| 发表于 2013-11-10 12:36:01 | 显示全部楼层
回复 3# terse
加了/b还是会有空格,可能需要用命令删除后面的空格
 楼主| 发表于 2013-11-10 12:36:42 | 显示全部楼层
回复 2# 377563714


    嗯好,一起努力
发表于 2013-11-10 12:50:31 | 显示全部楼层
第8行“>>c.txt echo !var! ”,后面有个空格

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-11-10 13:04:44 | 显示全部楼层
回复 6# wscript


    可以了,确实是这个问题,后面多了空格。看来以后写批处理要细心才行。谢谢你了!!!!!
发表于 2013-11-28 22:00:52 | 显示全部楼层
看看究竟什么情况。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:35 , Processed in 0.039844 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表