2017-08-13 26 views
0

有人可以请解释一下什么是这个批处理文件试图做Windows批处理文件来调用PHP脚本

setlocal 
SET tmpfile="temp3.txt" 

for %%f in (FY2?_20??.JPG) do (
    curl --form [email protected]%%f http://www.test.com/images/image_upload.php>%tmpfile% 

    REN "%%f" "DONE-%%f" 
    REN %tmpfile% "%%f.log" 
) 

感谢您的任何帮助和建议

回答

2

它所做的就是上传一些图片,将某个文件名掩码与远程服务器相匹配,并将curl输出存储在日志文件中,然后在处理这些图像时重命名这些图像。

但由于该答案简短而乏味,我将逐行阅读脚本。


setlocal 

沙箱,它们会在脚本中设置这样一旦脚本结束,他们不能被访问的变量。没有必要,但良好的做法。

SET tmpfile="temp3.txt" 

设置一个名为tmpfile到值temp3.txt变量。

for %%f in (FY2?_20??.JPG) do (

迭代所当前目录中的所有JPG文件与FY2开始,然后一些字符,然后_20,然后两个字符的列表。

curl --form [email protected]%%f http://www.test.com/images/image_upload.php>%tmpfile% 

上传通过该网站的页面image_upload.php每个图像www.test.com。 curl命令的输出将被重定向到其位置先前存储在%tmpfile%变量中的文件。 >表示覆盖文件的内容或创建一个新文件(如果不存在)。 --form选项使curl通过POST而不是GET发送图像。

REN "%%f" "DONE-%%f" 

追加在当前文件名

REN %tmpfile% "%%f.log" 

前面的字符串“私下作出─”更改日志文件的名称,与刚刚上传的文件的名称。该行告诉我,%tmpfile%变量是多余的,并且curl输出可能已被简单地重定向到%%f.log而不需要临时文件。

) 

这只是关闭for循环。

+0

curl --form image = @ %% f http://www.test.com/images/image_upload.php>%tmpfile% 这行是通过post方法向image_upload.php发送文件信息? – sanu

+1

这是正确的。每行代码在其下面都有其描述。 – SomethingDark

+0

最后一个是你确定“在%% F(FY2?_20 ?? JPG)做(” 这将寻找currrent目录%%˚F这是什么意思? – sanu

相关问题