| 

.NET C# Java Javascript Exception

1
Hallo zusammen,
ich möchte gerne eine cmd in C# übersetzen:
Inhalt der .cmd Datei:
REM Dieses Script kopiert die original VHD Dateien aus dem Sicherungsordner. Dadurch werden die festplatten wieder hergestellt. 
cls
@COLOR 4F
@echo ...
@echo ...
@echo ...
@echo ...
@echo ...
:start
@echo Hiermit werden die images geloescht und neu generiert. Alle bisherigen Aenderungen an den images gehen dabei verloren.

@echo Sind Sie sicher, dass Sie fortfahren wollen ?
@choice /C JNA /M "Druecken Sie [J] fuer Ja, [N] fuer Nein oder [A] fuer Abbrechen."

@if errorlevel 3 goto end
@if errorlevel 2 goto end
@if errorlevel 1 goto write

:write
@del C:\VHDs\*.* /F /Q
@XCOPY C:\NEUVHDs\*.* C:\VHDs\*.* /Y
@goto fin
:end
@echo Keine Veraenderungen vorgenommen. Vorgang abgebrochen.
pause

:fin


Wie wäre das in C#? Habe bisher noch keine .cmd Dateien in C# übersetzt.

Liebe Grüße
News:
13.04.2015
DarkDeviLw 1 1
1 Antwort
1
Hier mal eine mögliche Implementierung. Vereinfacht dargestellt und ohne Fehlerbehandlung etc.

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hiermit werden die images geloescht und neu generiert. Alle bisherigen Aenderungen an den images gehen dabei verloren.");
Console.WriteLine("Sind Sie sicher, dass Sie fortfahren wollen ? ");
Console.WriteLine("Druecken Sie [J] fuer Ja, [N] fuer Nein oder [A] fuer Abbrechen.");

var input = Console.ReadLine();

if (input != "J")
{
Console.WriteLine("Keine Veraenderungen vorgenommen. Vorgang abgebrochen.");
}
else
{
string sourceDir = @"C:\NEUVHDs";
string destDir = @"C:\VHDs";

// Dateien ermitteln die gelöscht werden solllen
string[] files2Delete = Directory.GetFiles(destDir);

files2Delete.ToList().ForEach(file =>
{
// Evtl. vorhandenen Schreibschutz entfernen
File.SetAttributes(file, FileAttributes.Normal);

// Datei löschen
File.Delete(file);
});

string[] files2Copy = Directory.GetFiles(sourceDir);

files2Copy.ToList().ForEach(file =>
{
// Dateiname vom Pfad extrahieren
string fileName = Path.GetFileName(file);

// Kopiere Datei und überschreibe evtl. vorhandene Dtaei
File.Copy(Path.Combine(sourceDir, fileName), Path.Combine(destDir, fileName), true);
});
}

Console.ReadLine();
}
}
13.04.2015
multi1209 848 1 8
Hi erstmal vielen Dank,
ist dies auch kompatibel mit Windows Forms?
DarkDeviLw 13.04.2015
Ja, ist es. Du musst nur die Textausgabe ein wenig anpassen. Das Kopieren und Löschen funktioniert unverändert auch in einer Windows Forms Anwendung.
multi1209 13.04.2015
Leider hat er Probleme mit destDir :/
DarkDeviLw 14.04.2015
Was ist das Problem? Gibt es irgendeine Fehlermeldung ??
multi1209 14.04.2015

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH