⑴ 批处理命令下载图片
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编码。
⑷ 批处理文件命令删除文件夹
批处理文件命令删除文件夹的方法如下:
创建批处理文件:
编辑批处理文件:
保存并更改扩展名:
使用批处理文件删除文件夹:
执行批处理文件:
注意事项: 在使用批处理文件删除文件夹前,请确保已备份重要数据,因为该操作是不可逆的。 批处理文件中的命令非常强大,使用时需谨慎,避免误删重要文件或文件夹。