記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能

記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能

ID:14685805

大?。?2.50 KB

頁(yè)數(shù):15頁(yè)

時(shí)間:2018-07-29

記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能_第1頁(yè)
記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能_第2頁(yè)
記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能_第3頁(yè)
記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能_第4頁(yè)
記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能_第5頁(yè)
資源描述:

《記用bat(批處理腳本)實(shí)現(xiàn)文件下載功能》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、記用BAT(批處理腳本)實(shí)現(xiàn)文件下載功能[組圖]記用BAT(批處理腳本)實(shí)現(xiàn)文件下載功能熱薦【字體:小大】閑來(lái)無(wú)事之--記用BAT(批處理腳本)實(shí)現(xiàn)文件下載功能作者:ZV(ZVROP…文章來(lái)源:s8s8.net點(diǎn)擊數(shù):4864更新時(shí)間:2004-8-19作者:ZV(ZVROP)郵件:zvrop@163.com主頁(yè):(被整頓掉老~~~~~>_<~~~~~~)網(wǎng)站:http://www.s8s8.net日期:2004-8-18轉(zhuǎn)載請(qǐng)保全文檔完整,謝謝寫(xiě)的倉(cāng)卒繁多,錯(cuò)漏難免,還請(qǐng)各位給予斧正.有什么問(wèn)題,可以給我發(fā)email.^_^...目錄:一.寫(xiě)在前面的話二.故事的起因三.解決

2、-腹稿四.解決-實(shí)戰(zhàn)五.解決-打造六.包裝七.小節(jié)八.后記九,參考文獻(xiàn)正文開(kāi)始:一.寫(xiě)在前面的話這篇文檔講述的并不是什么新鮮的技術(shù),我只是起到將他們混和起來(lái)實(shí)現(xiàn)了自己需要的功能的作用,如果你對(duì)批處理和PE格式相當(dāng)了解,那我的這篇文檔就權(quán)且當(dāng)作瀏覽溫習(xí)吧...^_^...另外,由于我本人廢話比較多,這也是不想給雜志寫(xiě)稿子的主要原因,給我干癟癟的3000字能講出什么來(lái),不如這樣沒(méi)有限制的爽快(當(dāng)然也沒(méi)什么報(bào)酬...一_一..),所以也為了防止你在看文章的途中睡著,請(qǐng)自備小錐子一把.....最后,這篇文檔說(shuō)是用批處理下載文件,其實(shí)它包含了很多方面的知識(shí),如果有時(shí)間,不妨一看哈,^_

3、^,開(kāi)始買(mǎi)瓜了..二.故事的起因最初萌發(fā)這個(gè)想法的是不久前,在論壇(廣告一下:http://www.s8s8.net)上的UNIXSHELL板塊有個(gè)會(huì)員發(fā)了一篇帖子,內(nèi)容是用BASHSHELL寫(xiě)的一個(gè)成批下載圖片的腳本(其實(shí)是H圖片...一_一..),接下來(lái)跟貼那個(gè)多啊...,有繁衍出PHP的,VBS的,C的,C#的,JAVA的,甚至交流到多線程,斷點(diǎn)續(xù)傳....引用花大哥的一句話"無(wú)語(yǔ),為了MM照片,大家的動(dòng)力都很足??!"...汗~~..在發(fā)了一份PHP和C的代碼后(感覺(jué)我動(dòng)力特足~大色狼...一_一..),覺(jué)得很簡(jiǎn)單(因?yàn)橛肅或者PHP等腳本來(lái)實(shí)現(xiàn)文件的下載本來(lái)就是很基礎(chǔ)

4、的東西)我就開(kāi)始想用微軟最原始的腳本--Batch(批處理)來(lái)嘗試實(shí)現(xiàn)(本文標(biāo)題中的"閑來(lái)無(wú)事"就是紀(jì)念此處,一_一.),這似乎有點(diǎn)不可思議,因?yàn)榕幚韼缀鯖](méi)有實(shí)現(xiàn)的支持網(wǎng)絡(luò)的功能(當(dāng)然,如果你說(shuō)你能用TELNET下載到文件的我是很佩服的..一_一..),但也不是完全沒(méi)有辦法,畢竟WINDOWS里面能用的東西這么多,沒(méi)有完不成的事情....在這種挑戰(zhàn)的勾引下,我完成了用批處理下載文件的功能....現(xiàn)在讓我一步一步回放我的思路,揭開(kāi)用批處理下載文件的奧秘...三.解決-腹稿如果用批處理來(lái)下載文件的話,肯定會(huì)馬上想到Cscript腳本(或者是JAVA腳本),那是當(dāng)然,太多的批處理

5、腳本實(shí)現(xiàn)一些本身并不可能實(shí)現(xiàn)的功能的時(shí)候都是采用ECHO出一個(gè)其他腳本的方法來(lái)解決.可是我們的目的就在于用批處理實(shí)現(xiàn)下載的功能,如果要用VBS來(lái)幫忙的話不如直接寫(xiě)VBS了.這個(gè)想法順即告吹....再來(lái),記得以前有流行過(guò)一陣用RUNDLL32來(lái)加載DLL中的API,似乎和我們需要的目的沾邊,因?yàn)橄螺d文件能用的API太多了,如果RUNDLL能調(diào)用,那最好不過(guò)了.于是我打開(kāi)MSDN,找了一個(gè)API:URLDownloadToFileURLDownloadToFile函數(shù)原型:代碼HRESULTURLDownloadToFile(LPUNKNOWNpCaller,LPCTSTRszU

6、RL,LPCTSTRszFileName,DWORDdwReserved,LPBINDSTATUSCALLBACKlpfnCB);URLDownloadToFile函數(shù)的一些信息:引用HeaderUrlmon.hImportlibraryUrlmon.libMinimumavailabilityInternetExplorer3.0MinimumoperatingsystemsWindowsNT4.0,Windows95根據(jù)這些,我們可以知道,這個(gè)API是在URLMON.DLL文件中的一個(gè)導(dǎo)出函數(shù),簡(jiǎn)單的實(shí)現(xiàn)了把一個(gè)文件從WEB服務(wù)器下載本機(jī)的功能,其實(shí)用這個(gè)函數(shù)還不錯(cuò)的,至

7、少它幫我們處理了斷點(diǎn)續(xù)傳,緩存等等的功能,比起直接使用SOCKET函數(shù)來(lái)實(shí)現(xiàn)或者用WININET里的函數(shù)來(lái)實(shí)現(xiàn)簡(jiǎn)單多得多了.URLDownloadToFile有五個(gè)參數(shù):第一個(gè)參數(shù)是僅當(dāng)調(diào)用者是一個(gè)ActiveX對(duì)象才使用,一般為NULL.第二個(gè)參數(shù)就是要下載文件的目標(biāo)URL,完整路徑.第三個(gè)是本地保存路徑,也是完整路徑第四個(gè)是保留,必須為0第五個(gè)是指向一個(gè)IBindStatusCallback接口的指針,這就類(lèi)似一種回調(diào)機(jī)制,你可以參考這些來(lái)活動(dòng)當(dāng)前下載進(jìn)度,選擇是否繼續(xù)下載等等.這里面我們只關(guān)心第二

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。