我有一个名为threshold的程序。我在名为images的目录中有一组图像。
$./myscript images
如何编写bash脚本,以便它接受目录名作为参数,并将目录中的每个文件单独作为参数传递给程序threshold.exe。
如果我执行,
./threshold.exe img_1.jpg
最终的执行应该是这样的。
./threshold.exe img_2.jpg
....
....
./threshold.exe img_n.jpg
{{1}}
答案 0 :(得分:1)
假设您在Windows环境中。
forfiles /p %1 /m *.jpg /c "cmd /c threshold.exe @file"
- 对于路径(/p
)%1
- %1是传递的参数,也就是您要搜索的文件夹
- 运行命令(/c
)cmd /c threshold.exe @file
- @file
表示jpg文件的路径
答案 1 :(得分:0)
#!/bin/bash
for dir; do
for f in "$dir"/*; do
./threshold.exe "$f"
done
done
表现如下:
请注意,这将采用./threshold.exe images/img_1.jpg
形式而不是./threshold img_1.jpg
形式 - 这是必要的,以便我们从实际<的目录中运行./threshold.exe
em>包含 threshold.exe
,并且仍然提供文件的有效相对路径。