中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 06:12
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批处理start实现多线程的问题
可打印版本  960 / 8
第1楼 pcode 发表于 2008-12-21 15:37
新手上路 发帖 4 积分 5
[求助]批处理start实现多线程的问题
在本论坛上看到了这么一段
@echo off
if == (Goto :Start) else (Goto ing)
:Start
set "ip=172.16.45"

for /L %%i in (1,1,254) do Start %~s0 %ip%.%%i
Goto :eof
ing
ping %1 -n 1 -w 1 >nul&&echo %1 >>ip.txt
exit

是ping的多线程 用start实现循环
我这里有个工具的命令格式是 文件名+ip
代码是一行行的写在文件中的
想到了也来个多线程 于是参照上面的代码 写了...

@echo off
if == (Goto :Start) else (Goto :test)
:Start
for /F %%i in (ip.txt) do start %~s0 %%i
Goto :eof
:test
test.exe %%1 >nul&&echo %%1 >>test.txt
pause

ps:test 是工具的文件名
以为这个批处理能够处理多线程
但是随后发现.... 只能够处理 ip.txt的第一行ip
后面的就执行了 真是郁闷.... 各位大哥大姐
能看看我这段批处理是错在哪里么?
第2楼 tireless 发表于 2008-12-21 16:11
银牌会员 发帖 1,122 积分 2,025
不是 %%1,是 %1

这样行吗?
第3楼 pcode 发表于 2008-12-21 16:17
新手上路 发帖 4 积分 5
%1也不行的...
还有你写的那个虽然可以
但不是多线程的~
不过还是谢谢啦!!
第4楼 tireless 发表于 2008-12-21 16:28
银牌会员 发帖 1,122 积分 2,025
Re 3 楼
多线程?

这样?
@echo off
for /f %%a in (ip.txt) do (
start test.exe %%a >nul&&echo %%a>>test.txt
)
第5楼 moniuming 发表于 2008-12-21 20:01
银牌会员 发帖 574 积分 1,335 来自 广西
这样?
第6楼 pcode 发表于 2008-12-22 12:23
新手上路 发帖 4 积分 5
十分感謝 不過這個"%~fs0" 是什么意思呢
第7楼 moniuming 发表于 2008-12-22 13:00
银牌会员 发帖 574 积分 1,335 来自 广西
Originally posted by pcode at 2008-12-22 12:23:
十分感謝 不過這個"%~fs0" 是什么意思呢

for /?
%~fI - 将 %I 扩充到一个完全合格的路径名
%~sI - 扩充的路径只含有短名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
第8楼 cny798 发表于 2009-01-23 22:34
新手上路 发帖 18 积分 18
太强了,还有这东西?
第9楼 cny798 发表于 2009-01-23 22:34
新手上路 发帖 18 积分 18
太强了,还有这东西?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023