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)); }
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(); }