コード例 #1
0
        public void setup()
        {
            this.root = "CopyFileSystemCommandTest".prepareTemporaryDirectory(true);
            this.prog = new FileSystemProgram();
            prog.Filesystem = new DefaultFilePathResolver(root);
            prog.Log = new LogHostBase { Writer = Console.Out };
            var progtxt = @"
setup srcdir='~/src', trgdir='~/trg'
setup mask='1.txt'
copy srcdir='${srcdir}', trgdir='${trgdir}', mask='${mask}'
setup mask='2.txt'
copy srcdir='${srcdir}', trgdir='${trgdir}', mask='${mask}'";
            prog.Load(new BooxmlParser().Parse(progtxt));
        }
コード例 #2
0
 public void Execute(string scriptcode, TextWriter logwriter,IDictionary<string ,string > parameters) {
     Filesystem = Filesystem ?? myapp.files;
     var file = Filesystem.ResolveAll("~/", scriptcode + ".fs.script").FirstOrDefault();
     if(null==file) {
         throw new Exception("cannot find script with code "+scriptcode);
     }
     var script = File.ReadAllText(file);
     var xscript = parseTxt(script);
     var program = new FileSystemProgram();
     if (null != parameters) {
         foreach (var parameter in parameters) {
             program.Parameters[parameter.Key] = parameter.Value;
         }
     }
     program.Filesystem = this.Filesystem;
     program.Log = new LogHostBase {Writer = logwriter};
     program.Load(xscript);
     program.Execute();
 }