我有一个目录myDir
,其中包含许多子目录。
我想执行以下命令:
java -cp bin Main
在每个子目录上,然后在子目录中创建一个带有命令java -cp bin Main
输出的文件(在每个子目录中)。
我试过了:
// edited , doesn't work
但它确实不起作用
知道怎么做吗?
谢谢
答案 0 :(得分:0)
$i
将拥有完整路径(相对于$base
)。请改为iterator "$dir/$(basename $i)"
或iterator "$i"
。
您的脚本也没有按照您的说法进行操作,我怀疑您要在java -cp bin Main
内运行if
,而不是else
(如果文件是不目录。)
答案 1 :(得分:0)
这是我的解决方案:
find /home/a/Desktop/myfolder -type d -exec sh -c '(cd {} && YOUR-COMMAND-GOES-HERE)' ';'
您可以使用YOUR-COMMAND-GOES-HERE
java -cp bin Main
所以:
find /home/a/Desktop/myfolder -type d -exec sh -c '(cd {} && java -cp bin Main)' ';'
答案 2 :(得分:0)
让你的java程序在所有子文件夹上运行:list all files from directories and subdirectories in Java
或者传递您希望java程序将输出创建到java程序的所有文件夹。类似的东西:
public class Test
{
public static void main(String[] args)
{
if (args != null && args.length>0)
{
for (int i = 0; i < args.length; i++)
{
System.out.println("Create a file in the folder "+args[i]);
}
}
else {
System.out.println("args were not provided");
}
}
}
使用
执行java -cp $ YOURCLASSPATH测试`find。 -type d`