#!/usr/local/bin/perl $com="dir /A:D /O:N /B >dirlist.txt"; system($com); open (DRR, "dirlist.txt"); open(OUT, ">batch.bcf"); my @alldir=; $num=@alldir; $inc=0; while ($inc < $num) { $line = @alldir[$inc]; $line =~ s/\n//; open(MOD, ">std$line.mdl"); print MOD "COMMENT \"no comment\"\;\n"; print MOD "SET CELLSIZE MIN\;\n"; print MOD "SET WINDOW UNION\;\n"; print MOD "SET AOI NONE\;\n"; print MOD "Integer RASTER n1_temp FILE OLD NEAREST NEIGHBOR AOI NONE \"D\:/data/$line/stat.tif\"\;\n"; print MOD "Integer RASTER n11_std FILE NEW USEALL ATHEMATIC 8 BIT UNSIGNED INTEGER \"D\:/data/$line/statstd1.img\"\;\n"; print MOD "Integer RASTER n12_std FILE NEW USEALL ATHEMATIC 8 BIT UNSIGNED INTEGER \"D\:/data/$line/statstd2.img\"\;\n"; print MOD "Integer RASTER n13_std FILE NEW USEALL ATHEMATIC 8 BIT UNSIGNED INTEGER \"D\:/data/$line/statstd3.img\"\;\n"; print MOD "Integer RASTER n14_std FILE NEW USEALL ATHEMATIC 8 BIT UNSIGNED INTEGER \"D\:/data/$line/statstd4.img\"\;\n"; print MOD "Integer RASTER n15_std FILE NEW USEALL ATHEMATIC 8 BIT UNSIGNED INTEGER \"D\:/data/$line/statstd5.img\"\;\n"; print MOD "INTEGER MATRIX n6_Low_Pass\;\n"; print MOD "n6_Low_Pass = MATRIX(3, 3\:\n"; print MOD "\t1, 1, 1,\n"; print MOD "\t1, 1, 1, \n"; print MOD "\t1, 1, 1)\;\n"; print MOD "n11_std = FOCAL STANDARD DEVIATION ( \$n1_temp(1) , \$n6_Low_Pass ) \;\n"; print MOD "n12_std = FOCAL STANDARD DEVIATION ( \$n1_temp(2) , \$n6_Low_Pass ) \;\n"; print MOD "n13_std = FOCAL STANDARD DEVIATION ( \$n1_temp(3) , \$n6_Low_Pass ) \;\n"; print MOD "n14_std = FOCAL STANDARD DEVIATION ( \$n1_temp(4) , \$n6_Low_Pass ) \;\n"; print MOD "n15_std = FOCAL STANDARD DEVIATION ( \$n1_temp(5) , \$n6_Low_Pass ) \;\n"; print MOD "QUIT\;\n"; close (MOD); print OUT "modeler -nq D:/data/std$line.mdl -meter -state\n"; ++$inc; } close (OUT); close (DRR);