中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 22:41
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]如何将上下行互换
可打印版本  753 / 5
第1楼 shw1395 发表于 2008-03-28 01:35
初级用户 发帖 21 积分 39
[已解决]如何将上下行互换
[img]UploadFile/2008-1/400camelandoasis.jpg[/img]
Camel and Oasis

[img]UploadFile/2008-1/400-2-5.jpg[/img]
Lion Hunter

改成

Camel and Oasis
[img]UploadFile/2008-1/400camelandoasis.jpg[/img]

Lion Hunter
[img]UploadFile/2008-1/400-2-5.jpg[/img]

[[i] Last edited by shw1395 on 2008-6-1 at 03:07 PM [/i]]
第2楼 abcd 发表于 2008-03-28 01:54
银牌会员 发帖 739 积分 1,436


[ Last edited by abcd on 2008-3-28 at 02:37 AM ]
第3楼 shw1395 发表于 2008-03-28 02:09
初级用户 发帖 21 积分 39
可以用cmd的for吗?另外要忽略[b]开头的行。sed我从没用过,看了你的回帖,我正在看http://sed.sourceforge.net
第4楼 abcd 发表于 2008-03-28 02:44
银牌会员 发帖 739 积分 1,436
第5楼 shw1395 发表于 2008-03-28 16:36
初级用户 发帖 21 积分 39
确实有效,在这里十分感谢abcd的答复。
其实我完全的效果是这样:
[b]Animals and Birds Gallery[/b]

[img]UploadFile/2008-1/nest.jpg[/img]
Nest

[img]UploadFile/2004-4/2003762261664813.jpg[/img]

[img]UploadFile/2004-4/20025221141571.jpg[/img]

只需处理这一部分的格式:
[img]UploadFile/2008-1/nest.jpg[/img]
Nest
[code]@echo off&setlocal enabledelayedexpansion
set num=0
set str1=
set str2=
for /f "tokens=*" %%i in (test.txt) do (
set /a num+=1,t=num%%2
if !t!==0 (
set str2=%%i
call,echo %%str2%%>>testend.txt
call,echo %%str1%%>>testend.txt
echo.>>testend.txt
) else (
set str1=%%i
)
)
pause>nul[/code]
好像还差一点点:(,看了for的帮助,原来FOR /F "eol=后只能有一个字符,无法用FOR /F "eol=[b]。也许用EmEditor的正则也是可以替换的,可惜我不会。
再次感谢abcd,他的回复我已经十分满意了。谢谢!
第6楼 abcd 发表于 2008-03-28 16:50
银牌会员 发帖 739 积分 1,436
以后提问题就完整的提出来

要不然,别人回答累,自己也累。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023