在这里还有个要求,就是新文件是希望有个固定开头的。比如,每个新文件的开头3行都是“1111”, “2222”,“3333”, 接下来才是从老文件那里传导过来的内容。作者: dos时代菜鸟 时间: 2010-12-13 15:56
屡清思路:
条件: 有 x y z 三个文件夹,其中 x 文件夹中有很多 txt 文件
目的:把 x 中包含 "/xx" 的文件找出来,将该文件中 =TEXT 及其以下内容传递给 z 文件夹下的 (原名+n) 为名字,以 [topnew] 为开头的新文件中,同时把 x 中的老文件移动到 y 中。
这个应该可以了
@echo off &SETLOCAL ENABLEDELAYEDEXPANSION
set old=x
set new0=y
set new1=z
SET STR0=/XX
SET STR1==TEXT
set top=[topnew]
for /f "delims=" %%c in ('dir /b /s /a-d "%old%\*.txt"') do (
find /i"!STR0!" "%%c" >nul 2>nul
if not errorlevel 1 (
echo %%c
echo !top! >"!new1!\%%~ncN%%~xc"
SET N=0
for /f "delims=" %%d in (%%c) do (
if *%%d*==*%STR1%* SET N=1
IF !N!*==1* ECHO %%d >>"!new1!\%%~ncN%%~xc"
)
move /y "%%c" "%new0%"
)
)