derm1cha
Goto Top

Wöchentlich Daten packen zippen verschieben und Originale löschen

Hallo,

ich hab im Unternehmen folgendes Problem.

Eine Messmaschine schreibt unheimlich viele kleine Dateien auf den dazugehörigen Messrechner.

Das raussuchen von einzelnen Messdaten wird dadurch zum Krampf.
Daher der Wunsch/die Idee ein Skript zu schreiben welches 1x p. Woche die Messdaten packt/zippt, in einen Archiv Unterordner verschiebt und die Originaldaten danach löscht.

Hab aber keine Ahnung von Skripts.

Aktuell habe ich mit 7zip folgendes zusammen geschrieben:

Dazu ist zusagen ich teste das ganze im Moment lokal

C:\Users\BenutzerkontoXY\Desktop\7ZipBackup\7z u %date%_backup.7z -up1q3r2x1y2z1w2 -ssw @"C:\Users\BenutzerkontoXY\Desktop\files.txt"

Inhalt files.txt

"C:\Users\BenutzerkontoXY\Desktop\TEST"

Die files.txt gibt nur an wo die Quelldaten liegen

Wie unschwer zu erkennen ist nutze ich das 7z dazu.

Bin auch für andere Lösungsansätze offen.

Die wöchentliche Routine würde ich einfach über die Aufgabenplanung dann laufen lassen.

Vielen Dank

Mfg
Kommentar vom Moderator tomolpi am 06.01.2020 um 14:02:32 Uhr
Kategorie geändert

Content-ID: 532109

Url: https://administrator.de/contentid/532109

Ausgedruckt am: 26.11.2024 um 05:11 Uhr

aqui
aqui 06.01.2020 aktualisiert um 13:20:05 Uhr
Goto Top
Hab aber keine Ahnung von Skripts.
Dann wäre das doch sicher in der Rubrik Batch & Shell besser aufgehoben damit einer der Wizzards dort dir was "basteln" kann, oder ?! face-wink
tomolpi
tomolpi 06.01.2020 um 14:02:51 Uhr
Goto Top
Zitat von @aqui:

Hab aber keine Ahnung von Skripts.
Dann wäre das doch sicher in der Rubrik Batch & Shell besser aufgehoben damit einer der Wizzards dort dir was "basteln" kann, oder ?! face-wink
Habe ich verschoben.

LG
tomolpi
Moderator
jktz84
jktz84 06.01.2020 um 15:48:43 Uhr
Goto Top
Ich setze bei sowas immer auf kleine c# Programme. Lad dir Visual Studio herunter und pass es an deine Bedürfnisse an. In meinem Beispiel wird die datei Test.txt in ein 7zip Archiv gepackt und anschließend in den Unterorder Archiv verschoben. Falls das Archiv existiert, wird die Test.txt Datei gelöscht.

using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;

namespace Archivieren
{
    class Program
    {

        static string date = System.DateTime.Now.ToString().Replace(".", "");  
        static string newdate = date.Substring(0, 8);

        static void Main(string args)
        {
            ProgrammStart();


            Console.ReadLine();
        }


        static async void ProgrammStart()
        {
            await Task.Run(() => { Zippen(); });
            await Task.Delay(500);
            if (File.Exists("D:\\" + newdate + ".zip"))  
            {
                File.Move("D:\\" + newdate + ".zip", "D:\\archive\\" + newdate + ".zip");  
                Console.WriteLine("Lösche Datei");  
                File.Delete("D:\\test.txt");  
            }
            else
            {
                Console.WriteLine("ZIP wurde nicht erstellt.Fehler.");  
            };
            Console.WriteLine("Beende..");  
            System.Environment.Exit(0);
        }




        static Task<int> Zippen()
        {
            var tcs = new TaskCompletionSource<int>();
                       
            Process rdcProcess = new Process();
            string executable3 = Environment.ExpandEnvironmentVariables(@"C:\\Program Files\\7-Zip\\7z.exe");  
            if (executable3 != null)
            {
                rdcProcess.StartInfo.FileName = executable3;
                rdcProcess.StartInfo.Arguments = "a D:\\" + newdate + ".zip D:\\test.txt";  
                rdcProcess.Start();

            }

            return tcs.Task;
        }


    }
}