如何使用批处理给txt文本首行插入标题行,末尾最后一行插入当前位置行数?

例如,a.txt中的数据是
11111
22222
33333
44444
总共四行,现在首行插入标题行“abcd”
abcd
11111
22222
33333
44444
$$EOF 6
最后一行是当前行数!

第1个回答  2012-12-18
@echo off
setlocal ENABLEDELAYEDEXPANSION
set line=0
echo abcd>>temp.txt
for /f "delims=" %%i in (a.txt) do (
set /a line+=1
echo %%i>>temp.txt
)
set /a line=%line%+2
echo $$EOF%line%>>temp.txt
del /f /q a.txt
ren temp.txt a.txt追问

我试了试,这个真的可以!谢谢高手!
想再继续请教一个问题:
怎么用批处理可以将a.txt 压缩成a.zip格式的压缩文件呢?非常感谢!

追答

7zip方法:
7z a a.zip a.txt

安装完7-zip后, 在7-zip的安装目录找到一个7z.exe的文件, 拷贝到c:\windows下, 在运行上面的指令.

追问

echo I(1)1 2 3>>temp.txt
echo INA|client|sku|language|name|price|currency|priceUnit|quantityUnit|quantityUnitISO|stepQuantity|weight|materialGroup|catalogInfo|skuDisp|alternative_sku|followup_sku>>temp.txt
在上面您给我的程序里,我想更改为插入两行标题,具体如上,第二行插入的标题是带有“|”,而且a.txt里面的数据列也是“|”隔开的,怎么试验都不成功,不知道为什么,您能否帮忙看一下?非常感谢!

追答

"I"在批处理中为管道命令, 可以讲|前的执行结果传递到后面的命令作为一个参数, 要强制输出一些特殊字符, 可以在特殊字符前加一个 ^ 符号, 如 ^> ^>> ^) ^:

本回答被提问者采纳
相似回答