我是刚开始编写批处理脚本的人,希望获得一些帮助。
我有一个图像文件夹。我想将这些图像中的每一个都URL指向我在网络上制作的图像分类器。然后,这将给我发送结果。
然后,我想将服务器的响应保存到文件中-让我们简单地讲一个CSV,格式如下:
File, Response
因此,我知道要在每个文件夹上运行批处理,我可以执行以下操作-
for /f %%f in ('dir /b c:\') do echo curl -X POST -F "images_file=@%%f" "https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classify?api_key=abcdefgh&version=2016-05-20"*
我知道,我可以使用“>>”将结果通过管道传递到输出文件中。
在运行批处理脚本时,我不知道如何将它们放在一起,以及如何创建CSV。有人可以帮忙吗?我认为我现在有90%的人刚开始使用批处理脚本。
最佳答案
您可以在powershell中执行以下操作:
根据您的要求更改占位符。
$dir_files=Get-ChildItem "C:\"
foreach($file in $dir_files)
{
$result=Invoke-WebRequest 'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classify?api_key=abcdefgh&version=2016-05-20' -Method Post -Headers 'images_file=@%%f'
$result | ConvertTo-Csv | Out-File "D:\outputfile.csv" -Append -Force
}
我只是给您引路的方式。我没有完成完整的批处理代码。
希望对您有帮助。
关于windows - 在文件夹中的每个文件上运行命令,然后保存输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41223864/