windows 批处理文件以循环打开URL,检查从URL下载PDF的文件夹,如果存在,则一次移动并重命名一个文件

6ie5vjzr  于 2023-03-04  发布在  Windows
关注(0)|答案(1)|浏览(214)

我需要下载PDF格式的表格中的网址列表,并与相关信息(发票编号,供应商名称等)重命名每个。
下载发票时,它们的文件名是randomgibberish.pdf,没有逻辑命名。
我已成功创建了一个基本批处理文件,该文件可下载所有发票,但问题是现在正在重命名它们。由于大小差异,它们并不总是按脚本顺序下载,因此我无法使用文件夹顺序进行重命名。
为了解决这个问题,我想让batch检查空的下载文件夹中是否有pdf对象,如果找到了,就把它移到另一个文件夹中,然后重命名为指定的名称。
我不知道批处理,所以不知道如何做到这一点(只知道VBA)。错误处理的文件路径不是非常重要,因为它只会运行在一个受控的环境。

'open url (this part is working)'
start chrome url 
'download auto starts'

set countervariable to 0 'for breaking loop if it gets too high from multiple attempts'

loop start

 if *.pdf exists in folder A then
    *.pdf move to folder B and rename to y
    set countervariable to 0
    goto nextinvoice 'will make this counter so gotos are all unique, basically move to start new loop'
 elseif countervariable = 20 then 'counter variable to break after say 20 failed loops'
    set countervariable = 0
    goto nextinvoice
 else
    countervariable = countervariable + 1
    wait 1 second 'give download a bit more time, exits if statement and begins loop again until true'
 end if 

loop

nextinvoice

这是我到目前为止下载的PDF文件,刚刚设置Chrome自动下载PDF文件。将更新下载目标文件夹为空。

timeout 1 /nobreak
start chrome url1
timeout 1 /nobreak
start chrome url2
timeout 1 /nobreak
start chrome url3
timeout 1 /nobreak
start chrome url4

冲洗并重复1000次

uqcuzwp8

uqcuzwp81#

简单地要么下载PDF文件的真实网址文件名,是的,我明白你说这不是一个真正的最小的例子。

cd /d c:\downloads
curl -O https://www.sram.com/globalassets/document-hierarchy/compatibility-map/road/sram-11-speed-eagle-and-flattop-chain-compatible-tools.pdf
curl -O https://www.sram.com/globalassets/document-hierarchy/spare-parts/spare-parts-catalog/2022-rockshox-spare-parts-catalog.pdf
curl -O ....................../aRemote.pdf

或添加您自己的名称

cd /d c:\downloads
curl -o "Invoice 0404-Sram Eagle.pdf" https://www.sram.com/globalassets/document-hierarchy/compatibility-map/road/sram-11-speed-eagle-and-flattop-chain-compatible-tools.pdf
curl -o "Invoice 0404-Sram Rockshox.pdf" https://www.sram.com/globalassets/document-hierarchy/spare-parts/spare-parts-catalog/2022-rockshox-spare-parts-catalog.pdf
curl -o "whatever.pdf"  ....................../aRemote.pdf

或者用更难的方法来做请参见https://stackoverflow.com/a/75569606/10802527
或者避免整个繁琐使用传统的vba的方式,你大概有一个网址和名称的电子表格列表?
伪码

MsEdge.exe "https://remote1.pdf"
sendkeys ^S & "c:\users\lz02\downloads\Invoice0001-Sram Eagle.pdf" & ~,1
loop items
sendkeys ^E & url2 & ^S & filename2,1
... 
sendkeys ^E & url1000 & ^S & filename1000,1
end loop
SendKeys "%{F4}"

命令行/批处理文件

相关问题