[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 buyiyang 于 2023-5-4 22:19 编辑

给一个循环的例子
  1. @echo off
  2. if "%~1"=="" (
  3.     set "url=https://189.ly93.cc/api.php?c=list&limit=10&shareCode=3UBZ3ei6NJJz&accessCode=?") else (
  4.     set "url=%~1"
  5. )
  6. setlocal enabledelayedexpansion
  7. for /f "delims=" %%a in ('powershell "(irm '%url%').path | %% {'{0}' -f $_.fileName}"') do (
  8.     timeout /t 1 /nobreak
  9.     for /f "eol=0 delims=| tokens=1-3" %%b in ('powershell "(irm '%url%').data | %% {'{0}|{1}|{2}|{3}' -f $_.fileSize,$_.fileId,$_.fileName,$_.isFolder}"') do (
  10.         if "%%e"=="true" (
  11.         set "url=%url%&fileId=%%c"
  12.         call "%~0" "!url!"
  13.         ) else (
  14.         curl
  15.         )
  16.     timeout /t 1 /nobreak
  17.     )
  18. )
  19. pause
复制代码

TOP

  1. set dom=createobject("htmlfile")
  2. set http=createobject("msxml2.xmlhttp")
  3. http.open "GET","https://189.ly93.cc/api.php?c=list&shareCode=3UBZ3ei6NJJz&accessCode=?",false
  4. http.send()
  5. dom.parentwindow.execscript("var j="&http.responsetext)
  6. set json=dom.parentwindow.j
复制代码
这个json就是js对象 你可以使用它来干啥啥
你好

TOP

回复 8# lonron


    那你为啥要用bat呢?直接用ps不成?( ̄_ ̄|||)
你好

TOP

回复 7# jyswjjgdwtdtj


    用PS是没问题的,主要是我现在不知道用bat该怎么写才能达到遍历所有子文件夹ID,然后给curl批量下载。获取这个网页数据的原理我都摸索出来了,我要的数据我都有,但就是不会写循环,好痛苦!!!

TOP

本帖最后由 jyswjjgdwtdtj 于 2023-5-4 20:12 编辑

回复 3# lonron


    盲写一段(没测试过)
  1. var http=new ActiveXObject("msxml2.xmlhttp");
  2. http.Open("GET","https://189.ly93.cc/api.php?c=list&shareCode=3UBZ3ei6NJJz&accessCode=?",False)
  3. http.Send()
  4. var result=eval(http.ResponseText)
复制代码
大小写不熟悉 可能大小写上会出错
然后就
  1. WScript.Echo(result.data[0].fileId)
复制代码
输出72373164319523966

#-_-#莫名不能用……估计是json里有啥不兼容jscript的地方吧
还是去用ps好
你好

TOP

回复 4# czjt1234

没毛病,我并不反感用第三方命令,只是相对于js,PS我还能看得懂自己能修改,而且在我看来PS实现一些东西可以更简单点。只是原本我用的for取截取json数据有点笨办法的意思。。。不过也是弃之不用了

TOP

回复 4# czjt1234


    我觉得吧 与其调用来调用去的 不如直接写ps或者js或者vbs
你好

TOP

回复 3# lonron


    纯bat能干啥?必须调用外部命令啊

attrib.exe
net.exe
arp.exe

等等windows自带的外部命令

还有众多的第三方命令

curl.exe
gwak.exe

那为啥不能调用

powershell.exe
cscript.exe

QQ 20147578

TOP

回复 2# jyswjjgdwtdtj


原来用的就是纯bat的方式,要不是for不能支持一行8000多个字符,我根本不想用PS
主要还是完全不会js,一丁点都不会,憋都憋不出一句话。。。
而且我是拿实例学bat的过程中,只是这次刚好遇到的是json罢了。

TOP

搞不懂你为什么要在bat里调用ps?既然有json那直接用js啊?js也有可以get post的com组件可以用啊
你好

TOP

返回列表