} // method private void BtnOutputFolder_Click(object sender, EventArgs e) { FolderBrowserDialog dlg = new FolderBrowserDialog(); dlg.Description = "Select the output folder."; //dlg.RootFolder = Environment.SpecialFolder.Personal; DialogResult rst = dlg.ShowDialog(); if (rst == DialogResult.OK) { TxtOutputFolder.Text = dlg.SelectedPath; Std.SetRegistryString(RegistryHive.CurrentUser, @"Software\SteamTool", "OutputFolder", TxtOutputFolder.Text); } } // method
} // constructor private static string GetSteamFolder() { string val = Std.GetRegistryString(RegistryHive.LocalMachine, @"SOFTWARE\WOW6432Node\Valve\Steam", "InstallPath"); if (val.Length == 0) { val = Std.GetRegistryString(RegistryHive.LocalMachine, @"SOFTWARE\Valve\Steam", "InstallPath"); } if (val.Length == 0) { return(string.Empty); } return(val); } // method
public CSGO(string game_folder, string output_folder) { this.output_folder = output_folder; csgo_folder = Path.Combine(game_folder, "csgo"); if (!Directory.Exists(csgo_folder)) { throw new Exception(string.Format("Folder does not exist: {0}", csgo_folder)); } screenshots_folder = Path.Combine(csgo_folder, "screenshots"); // Get .dem and .txt files string[] filelist = Directory.GetFiles(csgo_folder); foreach (string filename in filelist) { string ext = Path.GetExtension(filename).ToLower(); if (ext == ".dem") { files.Add(filename); string basename = Path.GetFileNameWithoutExtension(filename); // Assume a single letter is used as prefix if (basename.Length > 1) { string rest = basename.Substring(1); if (Std.IsDigitsOnly(rest)) { long newnum = long.Parse(Std.TrimLeadingDigits(rest)); if (maxnum < newnum) { maxnum = newnum; } } } } else if (ext == ".txt" && Path.GetFileName(filename).StartsWith("condump")) { files.Add(filename); } } // Get screenshots if (Directory.Exists(screenshots_folder)) { filelist = Directory.GetFiles(screenshots_folder); foreach (string filename in filelist) { files.Add(filename); } } } // method
} // method public void CopyFiles() { if (files.Count() == 0) { return; } if (output_folder.Length == 0) { return; } // Create the specified folder if (!Directory.Exists(output_folder)) { Directory.CreateDirectory(output_folder); } if (!Directory.Exists(output_folder)) { throw new Exception(string.Format("Folder does not exist: {0}", output_folder)); } // Create a sub folder string output_subfolder = Path.Combine(output_folder, DateTime.Now.ToString("yyyyMMddHHmmss")); if (!Directory.Exists(output_subfolder)) { Directory.CreateDirectory(output_subfolder); } if (!Directory.Exists(output_subfolder)) { throw new Exception(string.Format("Folder does not exist: {0}", output_subfolder)); } // Copy the files foreach (string filename in files) { string newname = Path.Combine(output_subfolder, Path.GetFileName(filename)); Std.CopyFile(filename, newname, move_files); ++files_copied; } } // method
} // constructor private void Form1_Load(object sender, EventArgs e) { TxtOutputFolder.Text = Std.GetRegistryString(RegistryHive.CurrentUser, @"SOFTWARE\SteamTool", "OutputFolder"); } // method