批处理 在文本每行前和每行后加字符

在文本的每行前和每行后加字符该怎么写?
空行跳过

例如:1.txt
abc
def

ghi

运行批出理改成1.txt
12 3abc /?
12 3def /?

123ghi /?

这样的批处理怎么写?
1.txt
#说明:
abc
def

ghi

改成保存为2.txt
1 %2abc ……
1 %2abc ……
1 %2abc ……
跳过#为开头的行。

@echo off
set /p before=请输入前面的字符
set /p after=请输入后面的字符
for /f "delims=" %%i in (1.txt) do (
if "%%i"=="" (
echo.>>2.txt
) else (
echo %before%%%i%after%>>2.txt
)
)
del 1.txt
ren 2.txt 1.txt
保存为123.bat 运行时保证123.bat和1.txt文件在同一目录下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-17
解答“问题补充”

@echo off
setlocal EnableDelayedExpansion
if exist 2.txt del /a /f /q 2.txt
for /f "eol=# delims=" %%a in (1.txt) do (
set xz=%%a
set xz=!xz: =!
if defined xz echo 1 %%2%%a>>2.txt
)
第2个回答  2010-03-22
看看我之前写的一个“批量生成代码”的批处理,应该能满足你的要求。
http://hi.baidu.com/%E5%BF%86%E6%9E%97%E5%AD%90/blog/item/1adb6adf54dda61649540381.html
第3个回答  2010-03-17
解答“问题补充”

@echo off
setlocal EnableDelayedExpansion
if exist 2.txt del /a /f /q 2.txt
for /f "eol=# delims=" %%a in (1.txt) do (
set xz=%%a
set xz=!xz: =!
if defined xz echo 1 %%2%%a>>2.txt
)
第4个回答  2010-03-22
看看我之前写的一个“批量生成代码”的批处理,应该能满足你的要求。
http://hi.baidu.com/%E5%BF%86%E6%9E%97%E5%AD%90/blog/item/1adb6adf54dda61649540381.html
相似回答