level 5
edit98
楼主
问题是这样的,有一个文本文件,里而的内容如下
accident
n.意外遭遇,事故;意外(因素)
across
prep.横过,越过;在的对面 ad.横过,穿过
active
adj.活跃的,敏捷的,积极的;在活动中的
advertise
vt.公告,公布;
after
prep.在...以后;在...后面 adv.以后,后来
我怎么才能把它放到另外一个文件中,其内容为:
accident n.意外遭遇,事故;意外(因素)
across prep.横过,越过;在的对面 ad.横过,穿过
active adj.活跃的,敏捷的,积极的;在活动中的
advertise vt.公告,公布;为...做广告 vi.登广告
after prep.在...以后;在...后面 adv.以后,后来
看了几个差不多的贴子,想自已搞定,结果弄了一天多也不成!!!
高手谢谢!!!!!
可以使用如下代码测试:CODE: Copy to clipboard@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n . test.txt') do (
set first=!second!
set second=%%i
if not "!first!"=="" set /a mod=!first!%%2
if !mod! equ 1 (set var=%%j) else (set str=%%j)
if !mod! equ 1 echo !str! !var!
)
pause
哎,我倒,刚回贴就发现楼主的问题就换了,十分郁闷。
另外,建议楼主把这个含义模糊的标题改一下,使得别人一眼就能从标题了解到问题的大概内容。
set /a mod=!first!%%2
这句是什么意思?这个%%2的变量??
%%表示除,mod的值为余数。CODE: Copy to clipboard@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in (a.txt) do (
if "!str!" == "" ( set str=%%i
) else (
echo !str! %%i
set str=
)
)
pause
取前6行为1行也没必要用skip,那样的话代码量大多了。在启用延迟环境变量后直接从for里面用上一句set str=!str! %%i就可以了:CODE: Copy to clipboard@echo off
2011年06月19日 14点06分
1
accident
n.意外遭遇,事故;意外(因素)
across
prep.横过,越过;在的对面 ad.横过,穿过
active
adj.活跃的,敏捷的,积极的;在活动中的
advertise
vt.公告,公布;
after
prep.在...以后;在...后面 adv.以后,后来
我怎么才能把它放到另外一个文件中,其内容为:
accident n.意外遭遇,事故;意外(因素)
across prep.横过,越过;在的对面 ad.横过,穿过
active adj.活跃的,敏捷的,积极的;在活动中的
advertise vt.公告,公布;为...做广告 vi.登广告
after prep.在...以后;在...后面 adv.以后,后来
看了几个差不多的贴子,想自已搞定,结果弄了一天多也不成!!!
高手谢谢!!!!!
可以使用如下代码测试:CODE: Copy to clipboard@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n . test.txt') do (
set first=!second!
set second=%%i
if not "!first!"=="" set /a mod=!first!%%2
if !mod! equ 1 (set var=%%j) else (set str=%%j)
if !mod! equ 1 echo !str! !var!
)
pause
哎,我倒,刚回贴就发现楼主的问题就换了,十分郁闷。
另外,建议楼主把这个含义模糊的标题改一下,使得别人一眼就能从标题了解到问题的大概内容。
set /a mod=!first!%%2
这句是什么意思?这个%%2的变量??
%%表示除,mod的值为余数。CODE: Copy to clipboard@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in (a.txt) do (
if "!str!" == "" ( set str=%%i
) else (
echo !str! %%i
set str=
)
)
pause
取前6行为1行也没必要用skip,那样的话代码量大多了。在启用延迟环境变量后直接从for里面用上一句set str=!str! %%i就可以了:CODE: Copy to clipboard@echo off