#!/usr/bin/perl

use strict;
use lib 'd:/programs/perl/lib/';

use IniFile;
use Template;

my $FilesPath = 'file_names.data';
$FilesPath = $ARGV[0] if(defined $ARGV[0]);
my $Cmd = (defined $ARGV[1])? $ARGV[1] : '';

#for(my $i = 0 ; $i < @ARGV ; $i++) {
#	print "$i: [$ARGV[$i]]\n";
#}

my $ini = new IniFile();
$ini->ReadAll($FilesPath, "\\s*=\\s*", 1);

my ($drive, $directory, $filename, $ext1, $lastdir, $filebody) = Deps::SplitFilePath($FilesPath);
$ini->{BaseDir} = "$drive$directory";
$ini->{BaseDir} =~ s/\\/\//g;

my $sep = Deps::DirectorySeparator();
foreach my $key (keys %$ini) {
#print "$key: $ini->{$key}\n";
	if($key =~ /^F_/) {
#		$ini->{$key} =~ s/^\.\///;
		$ini->{$key} =~ s/\\/\//g;
		my $fkey = "${key}_FULLPATH";
		$ini->{$fkey} = $ini->{$key};
		if($ini->{$fkey} =~ /^[a-z]:\//i or $ini->{$key} =~ /^\//) {
		}
		else {
			$ini->{$fkey} = Utils::MakePath($ini->{BaseDir}, $ini->{$fkey}, '/', 0);
			$ini->{$fkey} = Utils::ReduceDirectory($ini->{$fkey}, '/');
		}
		$ini->{$key}  =~ s/\//$sep/g;
		$ini->{$fkey} =~ s/\//$sep/g;
	}
}

my $cmd = Template->new()->ReplaceByHash($Cmd, $ini, '{', '}', 0, undef, 1, 0, 0);
#print "\n";
#print "F_INP: [$ini->{F_INP}]\n";
print "Cmd: [$Cmd]\n";
print "cmd: [$cmd]\n";

system($cmd);
