作者:oozic | 时间:2010-06-02 15:38 | 标题:[已结]一个根据文件%detail%栏行数 生成文件的问题
如题
文件包含3行内容
%HEADER% 一行 永远置顶
%DETAIL% 有N行
现在的要求是按照%DETAIL%的行数N 程序自动把原文件拆分成N个文件。
这个文件中有2行%DETAIL% 那就生成2个文件 新文件名就是原文件名+N。
每个文件的内容就是
%HEADER%
和该行%DETAIL%的内容
请问这个能用什么办法实现?
[ Last edited by oozic on 2010-6-4 at 16:58 ]
作者:qinchun36 | 时间:2010-06-02 19:33
@echo off
set "FILE=EDI_856_wisSOP_FlatFile_201005311500.txt"
set /p line1=<%FILE%
setlocal enabledelayedexpansion
set /a i=0
for /f "usebackq skip=1 delims=" %%s in ("%FILE%") do (
set /a i+=1
set NEW_FILE="%FILE:~0,-4%!i!.txt"
> !NEW_FILE! echo %line1%
>>!NEW_FILE! echo %%s
)
echo 完成。
pause>nul
作者:Evangel | 时间:2010-06-03 00:19
@echo off
rem Created by MakeBat.bat
setlocal enabledelayedexpansion
set /a i=0
set "file=EDI_856_wisSOP_FlatFile_201005311500.txt"
set name=!file:~0,-4!
for /f "delims=" %%a in (!file!) do (
if "!i!"=="0" (
set header=%%a
set /a i+=1
) else (
>>!name!!i!.txt echo !header!
>>!name!!i!.txt echo %%a
set /a i+=1
)
)
之前备份
作者:oozic | 时间:2010-06-03 09:39
谢谢 楼上2位
3楼 请问 不备份会出什么问题嘛?
作者:Evangel | 时间:2010-06-03 12:53
Originally posted by Evangel at 2010-6-3 12:19 AM:
@echo off
rem Created by MakeBat.bat
setlocal enabledelayedexpansion
set /a i=0
set "file=EDI_856_wisSOP_FlatFile_201005311500.txt"
set name=!file:~0,-4!
for /f "deli ...
不确定写的正确……还是备份的好……