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 Jan 06, 2020 um 13:02:32 Uhr
Kategorie geändert

Content-Key: 532109

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

Printed on: April 28, 2024 at 16:04 o'clock

Member: aqui
aqui Jan 06, 2020 updated at 12:20:05 (UTC)
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
Member: tomolpi
tomolpi Jan 06, 2020 at 13:02:51 (UTC)
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
Member: jktz84
jktz84 Jan 06, 2020 at 14:48:43 (UTC)
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;
        }


    }
}