Minecraft SP – Savegame per Batch Datei sichern

ForenTroll

PC-Selbstbauer(in)
Minecraft SP – Savegame per Batch Datei sichern

Hallöle,

ich suche für folgendes Problem eine Lösung:
Ich möchte meinen Save-Ordner per Batch Datei sichern. Also eigentlich ganz einfach per Copy Befehl.
Nur sollte halt die letzte Sicherung nicht überschrieben werden. Sprich mit jeder Sicherung soll an dem Ziel
jeweils eine neuer Ordner mit entweder einer neuen fortlaufenden Nummer oder einem neuen Datum(da ich
eigentlich nur 1x pro Tag sichern wollte) erstellt werden.

Hat vllt jemand ein Vorschlag für eine solche Batch Datei :huh:
 
AW: Minecraft SP – Savegame per Batch Datei sichern

Habe hier ein kleines selbsteschriebenes Programm für dich.
Hier die Exe :<Download>
Hier das Komplette Visual Studio 2010 Projekt: <Download>


Momentan werden die Saves unter C:\MinecraftSaves gespeichert.
Jeden Tag wird ein neuer Ordner erstellt.
Der Code sieht in C# wie folgt aus:
PHP:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Minecraft_SP_Saver
{
    public partial class Minecraft_SP_Saver : Form
    {
        

        public Minecraft_SP_Saver()
        {
            InitializeComponent();               
        }


        private void bt_info_Click(object sender, EventArgs e) //Funktion für den Infobutton
        {
            MessageBox.Show("Dieses Programm ist ein Open Source Projekt des PCGHX-Forums."+"\n"+ "Es darf nicht für kommerzielle Zwecke genutzt werden."+"\n"+"Geschrieben von Lennart Schäufele alias <BaSh>.");
        }



        private static void DirectoryCopy(string Pfad,string Zielpfad, bool copySubDirs)
        {
                

            DirectoryInfo dir = new DirectoryInfo(Pfad);
            DirectoryInfo[] dirs = dir.GetDirectories();

            // If the source directory does not exist, throw an exception.
            if (!dir.Exists)
            {
                throw new DirectoryNotFoundException(
                "Source directory does not exist or could not be found: "
                + Pfad);
            }

            // If the destination directory does not exist, create it.
            if (!Directory.Exists(Zielpfad))
            {
                Directory.CreateDirectory(Zielpfad);
            }


            // Get the file contents of the directory to copy.
            FileInfo[] files = dir.GetFiles();

            foreach (FileInfo file in files)
            {
                // Create the path to the new copy of the file.
                string temppath = Path.Combine(Zielpfad, file.Name);

                // Copy the file.
                    file.CopyTo(temppath, true); 
            }

            // If copySubDirs is true, copy the subdirectories.
            if (copySubDirs)
            {

                foreach (DirectoryInfo subdir in dirs)
                {
                    // Create the subdirectory.
                    string temppath = Path.Combine(Zielpfad, subdir.Name);

                    // Copy the subdirectories.
                    DirectoryCopy(subdir.FullName, temppath, copySubDirs);
                }
            }
        }



        void filecopy()
        {
            string Username = Environment.UserName;
            string Pfad = @"c:\Users\" + Username + @"\AppData\Roaming\.minecraft\saves";
            string Zielpfad = @"c:\MinecraftSaves\" + System.DateTime.Today.ToShortDateString() + @"\";
            
            DirectoryCopy(Pfad, Zielpfad, true);

        }

        private void bt_save_Click(object sender, EventArgs e)
        {
            filecopy();
        }


    }

   
}
 
Zuletzt bearbeitet:
Zurück