标题: [求助]批处理start实现多线程的问题
[打印本页]
作者: pcode
时间: 2008-12-21 15:37
标题: [求助]批处理start实现多线程的问题
在本论坛上看到了这么一段
@echo off
if == (Goto :Start) else (Goto <img src="images/smilies/face-raspberry.png" align="absmiddle" border="0">ing)
:Start
set "ip=172.16.45"
for /L %%i in (1,1,254) do Start %~s0 %ip%.%%i
Goto :eof
<img src="images/smilies/face-raspberry.png" align="absmiddle" border="0">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
后面的就执行了 真是郁闷.... 各位大哥大姐
能看看我这段批处理是错在哪里么?
作者: tireless
时间: 2008-12-21 16:11
不是 %%1,是
%1。
这样行吗?
@echo off
for /f %%a in (ip.txt) do (
test.exe %%a >nul&&echo %%a>>test.txt
)
作者: pcode
时间: 2008-12-21 16:17
%1也不行的...
还有你写的那个虽然可以
但不是多线程的~
不过还是谢谢啦!!
作者: tireless
时间: 2008-12-21 16:28
标题: Re 3 楼
多线程?
这样?
@echo off
for /f %%a in (ip.txt) do (
start test.exe %%a >nul&&echo %%a>>test.txt
)
作者: moniuming
时间: 2008-12-21 20:01
这样?
@echo off
if not "%1"=="" goto :test
for /f "delims=" %%a in (ip.txt) do (
start "" "%~fs0" %%a
)
exit
:test
test.exe %1 >nul&&>>test.txt echo %1
exit
作者: pcode
时间: 2008-12-22 12:23
十分感謝 不過這個"%~fs0" 是什么意思呢
作者: moniuming
时间: 2008-12-22 13:00
Originally posted by pcode at 2008-12-22 12:23:
十分感謝 不過這個"%~fs0" 是什么意思呢
for /?
%~fI - 将 %I 扩充到一个完全合格的路径名
%~sI - 扩充的路径只含有短名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
作者: cny798
时间: 2009-1-23 22:34
太强了,还有这东西?
作者: cny798
时间: 2009-1-23 22:34
太强了,还有这东西?