Datei beim Herunterfahren in einen andern Ordner kopieren ??? Allgemein 

Status
Für weitere Antworten geschlossen.

martinxs303

Registered +
Registriert
Feb. 2007
Beiträge
196
Hallo,

ich hoffe mal das ich hier im richtigen Thread bin...(wenn nicht dann verschieben)

Also ich suche eine möglichkeit das es mir ermöglicht bei Win XP nach dem anklicken "Herunterfahren" automatisch eine oder zwei Dateinen an einen anderen Ordner kopiert.

Das ganze hat einfache den hintergrund das die datei beim neustart überschrieben oder gelöscht wird wird.

Ach so fals es eine Rolle spielt es ist eine .xml Datei mit immer max. 300kb


DANKE
 
Bastel dir doch eine Batch-Datei BATch Datei , cmd Befehle in Windows (DOS)
Das ganze dann mit shutdown befehl
Code:
shutdown -s -t 0
und dann rufste die Datei auf anstatt start => herunterfahren zubenutzen.

Gruß
Broken Sword

edit:
*heul* Ich hab doch das selbe gesagt, wie hellboy... nur dass du halt nicht alles auf'n Silbertablett bekamst...
 
das sllte aber wenn möglich im hintergrund ablaufen beim befehl herunterfahren...weil es dann sonnst schnell in vergessenheit gerät zuerst den batch auszuführen.

also irgendwo einbinden wäre auch möglich
 
Hi,

Das geht mit einer .bat-Datei die Du dir selber anlegen kannst.

Erstelle dazu eine neue .txt-Datei und öffne sie mit einem Editor deiner Wahl.

Kopiere jetzt den folgenden Text rein:
------------------------------------------------------------------
copy "C:\DEIN ORDNER_1\Datei_1.xml" "D:\DEIN ORDNER KOPIE"
copy "C:\DEIN ORDNER_1\Datei_2.xml" "D:\DEIN ORDNER KOPIE"


%windir%\system32\shutdown.exe -s
------------------------------------------------------------------

ODER
------------------------------------------------------------------
copy "C:\DEIN ORDNER_1\*.xml" "D:\DEIN ORDNER KOPIE"


%windir%\system32\shutdown.exe -s
------------------------------------------------------------------

ein und speichere die Datei mit dem Befehl "Speichern unter..." im "Datei-Menü" als z.B.: "meinBat-Datei.bat".

Dei Pfade musst du natürlich anpassen, aber die Anführungszeichen (Gänsefüsschen in den Pfaden müssen erhalten bleiben, da sonst Pfade mit Leerzeichen ignoriert werden.

Bei dem ersten Text werden nur die 2 angegebenen .xml-Dateien kopiert, beim zweiten Text werden alle im Ordner vorhandenen .xml-Dateien kopiert.

Die Dateien im Zielverzeichnis werden dann jedesmal überschrieben.

Ich hoffe das hilft dir weiter.

mfg,

hellboy
 
hört sich super an, werde es später wenn ich zu hause bin probierne

THX
 
Zum Fragen ist doch so'n Forum da, oder?

Ja der Text muss mit rein (unbedingt unter "copy", weil sonst wird nur der PC runtergefahren und nichts kopiert) wenn die .bat den Rechner gleich mit runterfahren soll. Das "-s" bedeutet Shutdown, wenn du "-r" eingibst, wird der Rechner neu gestartet.

Automatisch läuft das nicht (der PC fährt ja auch nicht automatisch runter, du musst ihm schon sagen was du machen willst - z.B.: in dem du auf den Herunterfahren-Button klickst), du musst die .bat schon manuell starten um den Kopiervorgang zu starten und den PC runterzufahren.
 
ah o.k. aber da liegt der wurm vergraben.

gibt es denn keine möglichkeit die .bat irgendwo zu verlinken oder einen pfad zu dieser zu verweisen das die sich nach anklicken "Herunterfahren" automatisch ausführt.
 
Du kannst Dir auch eine Verknüpfung zur .bat-Datei auf dem Dektop anlegen.

Dazu die .bat-Datei mit der rechten Maustaste anklicken, auf "Senden an" gehen und im dann erscheinenden Menü auf "Deskop (Verknüpfung erstellen" klicken.

Das Icon der Verknüpfung kannst Du dann ändern indem die Verknüpfung mit der rechten Maustatste anklickst auf "Eigenschaften" gehst, im sich öffnenden Fenster klickst du dann auf "Anderes Symbol..." und suchst dir dann ein passendes aus.

mfg

hellboy
 
martinxs303 schrieb:
kommt der text auch mit rein ?

%windir%\system32\shutdown.exe -s

was besagt die den genau also das -s besonders ?

läuft das dann automatisch ab ohne das ich die .bat manuel starten muß?

sorry for viel fraging :D

Ich sags nicht gerne, aber bitte auch hier: keine doppelposts
 
wenn du es richtig sauber machen willst, schreibst du dir einen kleinen windows dienst der sich in den shutdown event vom os einklinkt und dann deine gewünschte aktion ausführt.

schau mal hier: MBR IT/.NET 247 : Need an example using SessionEndingEventHandler on microsoft.public.dotnet.framework.windowsforms

hmm so weit so gut.... also ich habe bis eben alles verstanden aber nun verstehe ich bahnhof ! es liegt nicht am englisch sondern eher an dem was ich mit dem ganzen dort anfangen soll?

gibt es das auch für dummies :D
 
hab den code mal kurz zusammengefasst (kann sein, dass der etwas angepasst werden muss, da ich VS 2008 benutze. Das .Net Framework solltest du in allen Versionen drauf haben):

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;

namespace DoSomethingOnShutdown
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
HookSessionEnding();
}

private void HookSessionEnding()
{
Microsoft.Win32.SystemEvents.SessionEnding +=
new Microsoft.Win32.SessionEndingEventHandler(this.OnSessionEnding);
}
private void OnSessionEnding(object sender,
Microsoft.Win32.SessionEndingEventArgs e)
{
MessageBox.Show("Das System fährt herunter");
// Schreib hier den Code rein was passieren soll wenn das System herunterfährt.
}

}
}

den code kannst du in einer normalen windowsanwendung zum testen verwenden. in die baust du einen button ein. sobald du dort draufklickst hängt sich das programm in den event rein und startet beim herunterfahren deinen hinzugefügten code. wenn das funktioniert, musst du nur noch einen windows dienst daraus machen.ich hoffe das hilft
 
gibt es denn keine möglichkeit die .bat irgendwo zu verlinken oder einen pfad zu dieser zu verweisen das die sich nach anklicken "Herunterfahren" automatisch ausführt.

Hallo!

Ich habe hier mal was ähnliches gepostet. http://www.freesoft-board.to/f17/windows-betriebszeit-bestimmen-282681.html#post2374557

Starte die Gruppenrichtlinie. (C:\WINDOWS\system32\gpedit.msc)

Gehe zu Richtlinien für Lokaler Computer > Computerkonfiguration > Windows-Einstellungen > Skripts (Start/Herunterfahren)

Rechts hast du zwei Einträge: Starten und Herunterfahren. Uns interessiert nur Herunterfahren.

Mit Doppelklick das Dialogfenster öffnen. Unten klickst du auf Dateien anzeigen. Der Ordner C:\WINDOWS\System32\GroupPolicy\Machine\Scripts \Shutdown wird geöffnet. Hier legst du eine neue .vbs-Datei (Visual Basic Script) an, mit folgendem Inhalt:

Code:
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile "C:\Quelle\Datei.xml", "C:\Ziel\"

(Achtung, das Script hier ist minimal, es werden keine Fehler abgefangen, es erscheint nur eine Fehlermeldung. Auf Wunsch Anpassungen möglich.)

Datei speichern, Explorer schließen, und im Dialogfeld der Gruppenrichtlinie die Datei Hinzufügen...

Wer schreibt heute noch auf der Windows-Oberfläche Batch-Files?

In Zukunft Windows einfach normal herunterfahren.

Gruß

FeliX_22
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten