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

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

本帖最后由 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 编辑 ]
1

评分人数

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

每行前后要添加什么字符?是否要保留空行?文本中是否含有感叹号?

TOP

为什么不尝试去掉变量
  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
复制代码

TOP

或者
  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
复制代码
1

评分人数

TOP

原帖由 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个小时焦头烂额啊 ,用那个!改了一下就可以了
太感谢!!!太感谢了 !!!

TOP

返回列表