![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 02:34 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]求助批处理如何生成多行多列文件 |
| 可打印版本 1,151 / 5 |
| 第1楼 in2dos | 发表于 2008-12-26 17:43 |
| 新手上路 发帖 5 积分 7 | |
|
[已结]求助批处理如何生成多行多列文件 求助批处理如何生成多行多列文件
请教一个bat问题,请高手指教~!批处理入如下: 我想做个批处理,生成一个文件,多行多列的,上面是我写的程序,不知道怎么改了,我目前只能生成多个文件, www.txt内容如下: www.yahoo.com.cn www.chinatelecom.com.cn www.163.com www.taobao.com www.baidu.com.cn www.17173.com www.sohu.com www.xinhuanet.com www.qq.com www.sina.com.cn www.tom.com dnsip.txt内容如下: 1.1.1.1 2.2.2.2 3.3.3.3 我想得到的效果如下: 1.1.1.1 2.2.2.2 3.3.3.3 www.yahoo.com.cn 132 msec 140 msec 144 msec www.chinatelecom.com.cn 134 msec 140 msec 145 msec www.163.com 142 msec 141 msec 143 msec www.taobao.com 140 msec 140 msec 143 msec 有高人指点一下么? xxx msec 为dig * | find time的结果 [ Last edited by HAT on 2008-12-28 at 20:53 ] |
|
| 第2楼 in2dos | 发表于 2008-12-26 22:49 |
| 新手上路 发帖 5 积分 7 | |
|
有高手么?探讨一下啊~自己顶先~!
|
|
| 第3楼 HAT | 发表于 2008-12-26 23:13 |
| 版主 发帖 5,017 积分 9,023 | |
|
能提供个dig的下载地址不?
|
|
| 第4楼 in2dos | 发表于 2008-12-26 23:41 |
| 新手上路 发帖 5 积分 7 | |
|
http://members.shaw.ca/nicholas.fong/dig/
还是版主好~呵呵 仔细研究一下上面我写的批处理,dig循环3次,每次输入内容如下: ;; Query time: 46 msec ;; Query time: 0 msec ;; Query time: 0 msec 表示在指定网址,指定dns dig 3次的结果,我本想dig 100次来看结果,我想要的输出只是 xx msec,前面的内容都是固定不变的,比较容易处理,所以也没有做什么过滤,如果dig 循环超过1次,其实是得不到我想要的矩阵结果的,dig 不做循环才能得到。但考虑到要多次dig,可以最终输出如下内容: 1.1.1.1(163) 2.2.2.2(163) 1.1.1.1(qq) 2.2.2.2(qq) ........... 1 143 msec 200 msec 0 msec 5 msec 2 0 msec 2 msec 0 msec 5 msec 3 0 msec 4 msec 0 msec 5 msec 4 30 msec 0 msec 0 msec 5 msec 5 0 msec 5 msec 0 msec 5 msec 6 0 msec 5 msec 0 msec 5 msec 7 0 msec 0 5 msec 0 msec 0 5 msec . . . 还请版主一起来指教一下,感觉这个批处理还是有点难度的.... |
|
| 第5楼 in2dos | 发表于 2008-12-27 00:14 |
| 新手上路 发帖 5 积分 7 | |
|
我又改了改脚本,每个文件生成如下内容:
1.1.1.1www.tom.com ;; Query time: 734 msec ;; Query time: 156 msec ;; Query time: 156 msec FOR /F %%i IN (D:\www.txt) DO (FOR /F %%j IN (D:\dnsip.txt) DO ( echo %%j%%i >d:\dns-result\%%j%%i.txt&&FOR /L %%a IN (1,1,3) DO dig @%%j %%i | find "time" >>d:\dns-result\%%j%%i.txt )) |
|
| 第6楼 in2dos | 发表于 2008-12-28 09:53 |
| 新手上路 发帖 5 积分 7 | |
|
算了,求人不如求己,自己在网上找到类似的解决办法了。
批处理内容如下: @echo off cd.>>com.csv set h=0 :h if %h% GEQ 1 set "fc=skip=%h%" set end=1 for /f %%i in ('dir /b *com*') do ( if not %%~nxi==com.csv set fi=%%~nxi&call:p ) if %end%==0 echo.>>com.csv&set/a h+=1&goto h pause :p for /f "eol=: %fc% delims=xxx" %%j in ('type %fi%') do ( set /p=%%j <nul>>com.csv set end=0 set tab=0 echo %fi% %h% %tab% goto :eof ) if "%tab%"=="1" set /p= <nul>>com.csv set tab=1 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |