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

[文本处理] [已解决]批处理如何给txt文本每一行行首行尾/两端/两边添加指定字符串?

[复制链接]
发表于 2010-3-14 11:04:16 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-14 21:54 编辑

搜了一下论坛的帖子,发现有类似的解决办法
就抄了一下代码,单独运行添加前面字符串 可运行
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p a=
  4. call :xiugai %1
  5. goto :eof
  6. :xiugai
  7. set "str=  ^<buddy name=""
  8. set "std=" /^>"
  9. for /f "delims=" %%i in (a.txt) do (
  10.   echo %str%%%i
  11.                                    )
复制代码
单独添加后面字符串 也可以运行
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p a=
  4. call :xiugai %1
  5. goto :eof
  6. :xiugai
  7. set "str=  ^<buddy name=""
  8. set "std=" /^>"
  9. for /f "delims=" %%i in (a.txt) do (
  10.   echo %%i%std%
  11.                                    )
复制代码
但是同时添加前后字符,就出错了,提示 set "std=" /^>" 这行命令错误,
高手帮忙看下应该怎么进行修改,谢谢
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p a=
  4. call :xiugai %1
  5. goto :eof
  6. :xiugai
  7. set "str=  ^<buddy name=""
  8. set "std=" /^>"
  9. for /f "delims=" %%i in (a.txt) do (
  10.   echo %str%%%i%std%
  11.                                    )
复制代码
[ 本帖最后由 ro0tkit 于 2010-3-14 14:05 编辑 ]

评分

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

查看全部评分

发表于 2010-3-14 11:26:53 | 显示全部楼层
每行前后要添加什么字符?是否要保留空行?文本中是否含有感叹号?
发表于 2010-3-14 11:37:23 | 显示全部楼层
为什么不尝试去掉变量
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call :xiugai %1
  4. goto :eof
  5. :xiugai
  6. for /f "delims=" %%i in (a.txt) do (
  7.   echo   ^<buddy name="%%i" /^>

  8. )
  9. pause
复制代码
发表于 2010-3-14 11:41:03 | 显示全部楼层
或者
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call :xiugai %1
  4. goto :eof
  5. :xiugai
  6. set "str=  <buddy name=""
  7. set "std=" /^>"
  8. for /f "delims=" %%i in (a.txt) do (
  9.   echo !str!%%i!std!
  10. )
  11. pause
复制代码

评分

参与人数 1PB +5 收起 理由
Batcher + 5 乐于助人

查看全部评分

 楼主| 发表于 2010-3-14 12:00:37 | 显示全部楼层
原帖由 yangfengoo 于 2010-3-14 11:41 发表
或者@echo off
setlocal enabledelayedexpansion
call :xiugai %1
goto :eof
:xiugai
set "str=  "
for /f "delims=" %%i in (a.txt) do (
  echo !str!%%i!std!
)
pause



感谢楼上的几个朋友回复,这个朋友的回复就可以运行了 太感谢 太感谢了 我弄了2个小时焦头烂额啊 ,用那个!改了一下就可以了
太感谢!!!太感谢了 !!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 07:52 , Processed in 0.032689 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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