windows - 对文件夹中的每个文件运行命令,然后保存输出

标签 windows powershell csv batch-file

我是编写批处理脚本的新手,希望得到一些帮助。

我有一个图片文件夹。我想将这些图像中的每一个一张一张地 curl 到我在网络上制作的图像分类器。这将向我发送结果。

然后我想将服务器的响应保存到一个文件中 - 让我们保持简单,比如 CSV,格式如下:

File, Response

所以我知道要在每个文件夹上运行 Batch,我可以执行以下操作 -

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/

相关文章:

在 Windows 上构建 Dart 时出现 Python 错误

c++ - DirectShow:网络摄像头预览和图像捕获

powershell - 查看网络适配器的高级属性,例如Get-NetAdapterAdvancedProperty

python 通过分隔符分割字符串,仅当它在引号之外时

ruby-on-rails - 创建多个csv文件并使用rails在一个zip归档文件中全部下载

linux - 将文本 (.csv) 文件中的数字从一种语言环境格式转换为另一种语言环境格式?

c++ - 多核架构上的多线程

windows - 如何在不传递文件的情况下排除 XCOPY 中的文件类型?

powershell - 使用 "Invoke-Command"在远程机器上运行本地文件

.net - 如何在新的AppDomain中将程序集仅作为反射加载?