private static void Run(Options options) { foreach (var scriptFileMask in options.FileMasks) { RunScriptsForMask(options, scriptFileMask); } }
private static void RunScriptsForMask(Options options, string scriptFileMask) { var directory = Directory.GetCurrentDirectory(); if (Path.IsPathRooted(scriptFileMask)) { directory = Path.GetDirectoryName(scriptFileMask) ?? directory; scriptFileMask = Path.GetFileName(scriptFileMask) ?? scriptFileMask; } var filesForArgPattern = Directory.GetFiles(directory, scriptFileMask).OrderBy(s => s).ToList(); Console.WriteLine("{0} files match pattern {1} (in {2})", filesForArgPattern.Count, scriptFileMask, directory); foreach (var file in filesForArgPattern) { DeployScript(options.SqlcmdPath, options.ConnectionStringBuilder(), file); } }