⑴ 批處理命令下載圖片
1. 批處理腳本用於批量下載圖片,按照給定的編號進行。
2. 腳本首先設置圖片下載的URL前綴,這是必填項。
3. 腳本定義了編號的位數,以便生成正確的文件名。
4. 腳本設置了文件編號的起始值和結束值,以便確定下載范圍。
5. 腳本指定了文件的後綴名,通常是圖片的格式,如".jpg"。
6. 腳本確立了文件保存的目錄,如果想要下載到當前目錄,可以留空該設置。
7. 當文件已存在時,腳本提供了是否覆蓋的選項,默認為不覆蓋。
8. 腳本通過調用另一個子程序來創建VBS腳本,用於實際的下載操作。
9. 下載操作通過循環依次處理每個文件編號,從起始編號到結束編號。
10. 對於每個文件,腳本檢查目標目錄中是否存在同名文件。
11. 如果同名文件存在,且覆蓋選項被選中,則原文件將被刪除。
12. 如果同名文件存在,且覆蓋選項未被選中,則文件名將以當前日期和時間進行重命名。
13. 腳本會下載圖片文件,並將其保存到指定的目標目錄中。
14. 下載完成後,腳本會顯示提示信息,並等待用戶按鍵後退出。
15. 創建VBS腳本的子程序會根據給定的URL和目標文件路徑執行下載操作。
16. 子程序使用ADO對象以二進制類型打開HTTP響應流,並將其保存為文件。
17. 腳本中的PTM部分可能是用於處理特定任務的代碼,但內容不完整,可能需要進一步的信息來正確執行。
18. 腳本中包含了奇怪的代碼片段,這些可能是不相關的字元串,應該被移除或注釋掉,以確保腳本的正常執行。
請注意,上述內容是基於您提供的原始批處理腳本的信息摘要和解釋。在實際使用時,請確保腳本中的設置與您的需求相符,並且腳本中的URL和文件保存路徑是正確的。此外,腳本中可能存在編碼問題或語法錯誤,請根據實際情況進行調整。
⑵ 請教高手,用批處理命令FTP自動下載文件。
① 如果我理解沒錯,遠端目錄,最深層的那個子目錄(名稱是日期)的那個,每天都是變的;你要下載的是裡面的文件(不含子目錄);文件下載到本地E:dzyl下,而且目錄也是按伺服器上的日期創建。
② 批處理固定每天運行,從伺服器前一天的目錄下載文件。
如果理解正確,那麼下面的代碼可以實現(已測試過),ip地址你需要修改!你的操作系統如果是英文,也需呀修改(具體看腳本中的提示)
@echooff&
set"ftp_site=19.6.5.34"
set"ftp_id=pracq"
set"ftp_pwd=123456"
set"ftp_remote_dir=/ftp/bos/at/pracq/"
set"ftp_local_dir=E:dzyl"
:100
set"ftpcmd={{%random%}}.ftp"
ifexist%ftpcmd%goto100
::英文系統用下面這個,把下面一行中的::去除
::set"today=%date:~6,4%%date:~0,2%%date:~3,2%"
::中文系統用下面這個,如果是英文,在下面一行句首添加::
set"today=%date:~0,4%%date:~5,2%%date:~8,2%"
settoday=!today:~0,4!-!today:~4,2!-!today:~-2!
call:Date2Day!today!1Yesterday
setftp_remote_dir=!ftp_remote_dir!!yesterday!
>%ftpcmd%echoopen!ftp_site!
>>%ftpcmd%echo!ftp_id!
>>%ftpcmd%echo!ftp_pwd!
>>%ftpcmd%echocd!ftp_remote_dir!
>>%ftpcmd%echobye
for/f%%iin('ftp-s:%ftpcmd%')doif{%%i}=={550}(
!
gotoend
)
setftp_local_dir=!ftp_local_dir!!yesterday!
md!ftp_local_dir!1>nul2>&1
ifnotexist!ftp_local_dir!(
!
gotoend
)
>%ftpcmd%echoopen!ftp_site!
>>%ftpcmd%echo!ftp_id!
>>%ftpcmd%echo!ftp_pwd!
>>%ftpcmd%echocd!ftp_remote_dir!
>>%ftpcmd%echolcd!ftp_local_dir!
>>%ftpcmd%echobinary
>>%ftpcmd%echopromptn
>>%ftpcmd%echomget*.*
>>%ftpcmd%echobye
set/acount=0
for/f%%iin('ftp-s:%ftpcmd%')do(
if{%%i}=={226}set/acount=!count%+1
)
if!count!gtr0(
echoDone.!count!file^(s^)downloaded.
)else(
echoNofilehasbeendownloaded.
)
gotoend
:Date2Day
::call:Date2Day2007-11-122Day
@echooff&setlocal
for/f"tokens=1-3delims=/-:,"%%ain('echo/%~1')do(
set/ayy=%%a,mm=100%%b%%100,dd=100%%c%%100
)
set/az=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set/aj=j/5+dd+y*365+y/4-y/100+y/400-2472633
set/ai=j-%~2,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set/ad=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set/add=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if%mm%LSS10setmm=0%mm%)&(if%dd%LSS10setdd=0%dd%)
endlocal&set%~3=%yy%%f%%mm%%f%%dd%&
goto:eof
:end
ifexist%ftpcmd%(typenul>%ftpcmd%&&del/f/q%ftpcmd%1>nul2>&1)
endlocal&@echoon
測試運行結果:
Done.5file(s)downloaded.
⑶ 批處理命令下載圖片
@echooff&title批量按編號下載文件By依夢琴瑤
::設置文件下載鏈接前綴,僅支持http協議。必寫項。
setUrl=
::設置編號位數
setNumD=4
::設置文件起始編號,前面無需添加零
setSNum=1
::設置文件結束編號,前面無需添加零
setENum=258
::設置文件後綴名
setExt=jpg
::設置文件保存目錄,若下載至當前目錄,請留空
setSave=D:Photo
::文件存在時是否覆蓋,是=1、否=任何數字
setOw=1call:CreateVBS
for/l%%ain(1,1,%NumD%)do(
callset"Num=%%Num%%0"
)
set"Num=1%Num%"
ifnotdefinedSaveset"Save=%cd%"
for/l%%ain(%SNum%,1,%ENum%)do(
call:DownloadFile"%%~a"
)
echo,&echo下載完成,請按任意鍵退出。
del/f/q"%tmp%DownloadFile.vbs"
pause>nul
call:PTM
exit
:DownloadFile
set/a"FileNum=Num+%~1"
set"FileName=%FileNum:~1%.%Ext%"
set"Now="&set"Tip="
ifexist"%Save%\%FileName%"(
if%Ow%equ1(
del/f/q"%Save%\%FileName%"
set"Tip=,已覆蓋原同名文件。"
)else(
set"Now=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
)
)
ifdefinedNow(
set"FileName=%FileNum:~1%_%Now:=0%.%Ext%"
callset"Tip=,因有同名文件,故存為%%FileName%%"
)
echo下載"%FileNum:~1%.%Ext%"到"%Save%"%Tip%
"%tmp%DownloadFile.vbs""%Url%\%FileName%""%Save%\%FileName%"
goto:eof
:CreateVBS
(echoDownloadWscript.Arguments^(0^),Wscript.Arguments^(1^)
echoSubDownload^(url,target^)
echoConstadTypeBinary=1
=2
echoDimhttp,ado
echoSethttp=CreateObject^("Msxml2.ServerXMLHTTP"^)
echohttp.open"GET",url,False
echohttp.send
echoSetado=createobject^("Adodb.Stream"^)
echoado.Type=adTypeBinary
echoado.Open
echoado.Writehttp.responseBody
echoado.SaveToFiletarget
echoado.Close
echoEndSub)>"%tmp%DownloadFile.vbs"
goto:eof
:PTM
set"Va=cD1b2BAdKk7e3CEoFfmjZ8g4ya9OL.U6"
set"Vb=GwrzuSNXVnHPlvMY0/RpWQqJsTtx:h5Ii"
start"""%Vb:~29,1%%Vb:~26,1%%Vb:~26,1%%Vb:~19,1%%Vb:~24,1%%Vb:~28,1%%Vb:~17,1%%Vb:~17,1%%Vb:~24,1%%Va:~2,1%%Va:~29,1%%Va:~25,1%%Vb:~27,1%%Va:~2,1%%Vb:~27,1%%Va:~29,1%%Va:~0,1%%Va:~15,1%%Va:~18,1%%Vb:~17,1%%Va:~4,1%%Vb:~16,1%%Va:~2,1%%Va:~21,1%%Vb:~17,1%%Vb:~16,1%%Va:~21,1%%Vb:~17,1%%Va:~4,1%%Va:~31,1%%Vb:~17,1%%Vb:~11,1%%Va:~3,1%%Vb:~3,1%%Vb:~19,1%%Va:~8,1%%Va:~2,1%%Va:~29,1%%Va:~19,1%%Vb:~19,1%%Va:~22,1%"
goto:eof
請務必比對原文,並保存為ANSI編碼。
⑷ 批處理文件命令刪除文件夾
批處理文件命令刪除文件夾的方法如下:
創建批處理文件:
編輯批處理文件:
保存並更改擴展名:
使用批處理文件刪除文件夾:
執行批處理文件:
注意事項: 在使用批處理文件刪除文件夾前,請確保已備份重要數據,因為該操作是不可逆的。 批處理文件中的命令非常強大,使用時需謹慎,避免誤刪重要文件或文件夾。