批處理程序中多線程怎么處理-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“批處理程序中多線程怎么處理”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“批處理程序中多線程怎么處理”這篇文章吧。

創(chuàng)新互聯(lián)公司主營東烏珠穆沁網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應用開發(fā),東烏珠穆沁h5微信小程序開發(fā)搭建,東烏珠穆沁網(wǎng)站營銷推廣歡迎東烏珠穆沁等地區(qū)企業(yè)咨詢

如下內(nèi)容將簡單舉例,在WINDOWS下使用批處理做多進程并發(fā),以達到“多線程”的效果。

例:需要PING 192.168.0.1到192.168.0.254的所有IP地址,并將是否能PING通的結(jié)果輸出到log.txt

實現(xiàn)如下:

rem 主程序.bat,只需一行代碼,調(diào)用checkip.bat,經(jīng)測試,CPU2.6G MEM1G可并發(fā)40個左右的進程

代碼如下:


for /l %%i in (1,1,254) do (start /min cmd /c checkip.bat 192.168.0.%%i)


rem checkip.bat內(nèi)容如下:


代碼如下:


ping %1 -n 1
if %errorlevel%==0 (echo %1 alive>>log.txt) else (echo %1 dead>>log.txt)


根據(jù)以上資料,我自己進行了修改,只需要一個主程序就能執(zhí)行代碼:
程序進化

代碼如下:


@echo off
if "%1"=="" (for /l %%a in (1,1,100) do (start /min cmd /c %0 10.120.6.%%a&ping 127.0.0.1 -n 1>nul))
if not "%1"=="" (ping -a %1 -n 1|find "reply" /i&&echo alive %1>>LogIP.txt||echo dead %1>>LogIP.txt)


為了使代碼過長,方便閱讀,我分成了兩行,其實一行就可以完成的。你可以自己修改,直接在cmd窗口運行的語句,如果你寫不出來,可以再來問我。
程序知識點說明:

1.判斷參數(shù)是否為空
2.使用start命令,請注意和goto和call的區(qū)別
3.使用ping做延遲
4.使用find命令判斷IP是否開機狀態(tài)并記錄到日志中
5.提示信息禁止輸出。

程序再進化
為了每次執(zhí)行后清空日志文件,修改代碼如下:

代碼如下:


@echo off
if "%1"=="" (
if exist "logip.txt" del LogIp.txt
for /l %%a in (1,1,100) do (start /min cmd /c %0 10.120.6.%%a&ping 127.0.0.1 -n 1 1>nul))
if not "%1"=="" (ping -a %1 -n 1|find "reply" /i&&echo alive %1>>LogIP.txt||echo dead %1>>LogIP.txt)


當然,如果你想使用兩個bat文件,可以直接把兩行代碼分別寫在兩個文件中,每個文件寫一行也可以。

說明:

1.在for語句的最后,有ping 127.0.0.1 -n 1 1>nul,-n 1表示ping1次,后面的1>nul表示正常信息重定向禁止輸出,具體博客內(nèi)容其他文章句柄重定向。
2.語句if exist "logip.txt" del LogIp.txt可以使用 echo [%date% %time%]>LogIp.txt 來代替,它們兩句的作用是相同的,具體使用就看個人用法了


以上是“批處理程序中多線程怎么處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:批處理程序中多線程怎么處理-創(chuàng)新互聯(lián)
新聞來源:http://bm7419.com/article6/hopig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、用戶體驗App設(shè)計、服務(wù)器托管網(wǎng)站建設(shè)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)