dateien automatisch kopieren lassen
über eine BAT-Datei die Datei autmatisch kopieren lassen. Mein Problem ist jetzt das er die neue Datei immer wieder überschreibt.
hallo...
ich habe eine log-file die ich nach jedem neustart in ein bestimmtes Verzeichnis automatisch kopiert haben will. Nun habe ich eine BAT Datei erstellt mit dem folgendem Code:
copy C:\logfile.log D:\logfile_%DATE%_.log
So habe ich von jedem Tag eine logfile kopiert aber ich brauche an einem Tag mehrere und so überschreibt er sie am Tag. Kann mit jemand helfen?
Danke im vorraus..
hallo...
ich habe eine log-file die ich nach jedem neustart in ein bestimmtes Verzeichnis automatisch kopiert haben will. Nun habe ich eine BAT Datei erstellt mit dem folgendem Code:
copy C:\logfile.log D:\logfile_%DATE%_.log
So habe ich von jedem Tag eine logfile kopiert aber ich brauche an einem Tag mehrere und so überschreibt er sie am Tag. Kann mit jemand helfen?
Danke im vorraus..
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 9453
Url: https://administrator.de/forum/dateien-automatisch-kopieren-lassen-9453.html
Ausgedruckt am: 17.04.2025 um 11:04 Uhr
12 Kommentare
Neuester Kommentar
SYNTAXFEHLER ist das Ergebnis aber trotzdem danke
Wahrscheinlich stören die Doppelpunkte in %TIME%
Du könntest in einer Schleife mit IFEXIST prüfen ob der Dateiname vorhanden ist.
Wenn ja, dann beim nächsten Schleifendurchlauf einen Zähler anhängen.
Die Schleife muss dann solange laufen bis IFEXIST False wird.
Speichere das mit der Endung .vbs ab und führe es mal aus (ich habs nicht getestet)
Die Pfade und Dateinamen musst du natürlich noch anpassen.
~~~~~~~~~~~~~~~~~~~~~~~~~~
'CopyLogfile.vbs
Option Explicit
' Variablendeklaration
Dim objFSO, objFile
Dim strSrcDir, strDstDir, strLogFile, i, strExt
' Variablen belegen
strSrcDir = "C:\Windows\Test" ' Das Quelllog _ohne_ Erweiterung
strDstDir = "C:\Test" ' Das Ziellog _ohne_ Erweiterung
strExt = ".log" ' Die Dateierweiterung
' Startwerte
strLogFile = strDstDir & strExt
i = 1
' Objekte erzeugen
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
' Quelldatei laden
Set objFile = objFSO.GetFile(strSrcDir & strExt)
' Schleife prüft, ob der Dateiname existiert
' 1. Durchlauf: Test.log
' 2. Durchlauf: Test_1.log usw
Do Until objFSO.FileExists(strLogFile)
strLogFile = strDstDir & "_" & i & strExt
i = i + 1
Loop
' Unter dem ersten freien Dateinamen wird kopiert
objFile.Copy(strLogFile)
~~~~~~~~~~~~~~~~~~~~~~~~~~
Hilfreiche Links:
http://www.microsoft.com/germany/technet/datenbank/articles/600327.mspx
http://www.microsoft.com/technet/scriptcenter/default.mspx
Die Pfade und Dateinamen musst du natürlich noch anpassen.
~~~~~~~~~~~~~~~~~~~~~~~~~~
'CopyLogfile.vbs
Option Explicit
' Variablendeklaration
Dim objFSO, objFile
Dim strSrcDir, strDstDir, strLogFile, i, strExt
' Variablen belegen
strSrcDir = "C:\Windows\Test" ' Das Quelllog _ohne_ Erweiterung
strDstDir = "C:\Test" ' Das Ziellog _ohne_ Erweiterung
strExt = ".log" ' Die Dateierweiterung
' Startwerte
strLogFile = strDstDir & strExt
i = 1
' Objekte erzeugen
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
' Quelldatei laden
Set objFile = objFSO.GetFile(strSrcDir & strExt)
' Schleife prüft, ob der Dateiname existiert
' 1. Durchlauf: Test.log
' 2. Durchlauf: Test_1.log usw
Do Until objFSO.FileExists(strLogFile)
strLogFile = strDstDir & "_" & i & strExt
i = i + 1
Loop
' Unter dem ersten freien Dateinamen wird kopiert
objFile.Copy(strLogFile)
~~~~~~~~~~~~~~~~~~~~~~~~~~
Hilfreiche Links:
http://www.microsoft.com/germany/technet/datenbank/articles/600327.mspx
http://www.microsoft.com/technet/scriptcenter/default.mspx
So, jetzt sollte es funktionieren. Bei mir tuts zumindest
Das kommt davon, wenn man sowas schnell hinklopft.
Der Unterschied zwischen Until und While ist mir normalerweise schon geläufig
~~~~~~~~~~~~~~~~~~
'CopyLogfile.vbs
Option Explicit
' Variablendeklaration
Dim objFSO, objFile
Dim strSrcDir, strDstDir, strLogFile, i, strExt
' Variablen belegen
strSrcDir = "H:\Test\Log" ' Das Quelllog _ohne_ Erweiterung
strDstDir = "H:\Test1\Log" ' Das Ziellog _ohne_ Erweiterung
strExt = ".log" ' Die Dateierweiterung
' Startwerte
strLogFile = strDstDir & strExt
i = 1
' Objekte erzeugen
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Schleife prüft, ob der Dateiname existiert
' 1. Durchlauf: Test.log
' 2. Durchlauf: Test_1.log usw
Do While objFSO.FileExists(strLogFile)
strLogFile = strDstDir & "_" & i & strExt
i = i + 1
Loop
' Unter dem ersten freien Dateinamen wird kopiert
objFSO.CopyFile strSrcDir & strExt, strLogFile, False
~~~~~~~~~~~~~~~~~~
Das kommt davon, wenn man sowas schnell hinklopft.
Der Unterschied zwischen Until und While ist mir normalerweise schon geläufig
~~~~~~~~~~~~~~~~~~
'CopyLogfile.vbs
Option Explicit
' Variablendeklaration
Dim objFSO, objFile
Dim strSrcDir, strDstDir, strLogFile, i, strExt
' Variablen belegen
strSrcDir = "H:\Test\Log" ' Das Quelllog _ohne_ Erweiterung
strDstDir = "H:\Test1\Log" ' Das Ziellog _ohne_ Erweiterung
strExt = ".log" ' Die Dateierweiterung
' Startwerte
strLogFile = strDstDir & strExt
i = 1
' Objekte erzeugen
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Schleife prüft, ob der Dateiname existiert
' 1. Durchlauf: Test.log
' 2. Durchlauf: Test_1.log usw
Do While objFSO.FileExists(strLogFile)
strLogFile = strDstDir & "_" & i & strExt
i = i + 1
Loop
' Unter dem ersten freien Dateinamen wird kopiert
objFSO.CopyFile strSrcDir & strExt, strLogFile, False
~~~~~~~~~~~~~~~~~~
hallo,
ich habe einen Batch geschreiben der mir eine Datei kopiert und das Datum anhängt, klappt einwandfrei,
nun möchte ich diesen batch einmal wöchentlich , z. Bsp immer Sonntags um 22:00 Uhr laufen lassen
Mein Batch besteht bisher nur aus einer Zeile .
copy liste.txt d:\backup\liste_%date%.txt
Diesen Batch starte ich bisher manuell. Wie kann ich einen Wochentag und eine Uhrzeit mitgeben ???
Vielen Dank vorab
Dubt
ich habe einen Batch geschreiben der mir eine Datei kopiert und das Datum anhängt, klappt einwandfrei,
nun möchte ich diesen batch einmal wöchentlich , z. Bsp immer Sonntags um 22:00 Uhr laufen lassen
Mein Batch besteht bisher nur aus einer Zeile .
copy liste.txt d:\backup\liste_%date%.txt
Diesen Batch starte ich bisher manuell. Wie kann ich einen Wochentag und eine Uhrzeit mitgeben ???
Vielen Dank vorab
Moin dubt,
willkommen im Forum.
Je nach Betriebssystem bzw. Windows-Version sind unterschiedliche Antworten richtig.
Da wir das bei Dir nicht wissen, könnten Lösungsansätze sein:
a) das M$-Utility At.exe
"at 20:00 /Every:So c:\dubts\unknown.bat" am CMD-Prompt eingeben
b) der M$-Nachfolger namens "Schtasks.exe" nach dem selben Muster
Das ist nicht von einem lispelnden Programmierer geschrieben wurden, sondern soll wohl "Scheduled Tasks"/"Verspätete Aufgaben" heißen.
Im "deutschen" Windows heißen die beiden Winzprogrämmchen "Befehlszeilen-Zeitplanungstools".
Hätten die "tools" auch übersetzt, wäre es noch länger *gg
c) über Klicki-Bunti geht es auch mit dem so genannten "Taskplaner" (siehe Windows-Hilfe)
d) über Fremdtools ...lasse ich mal weg.
Lohnt nicht für diese Aufgabe, 1x die Woche einen Batch aufzurufen.
Such also in Deiner Windows-Hilfe nach "Befehlszeilen-Zeitplanungstool". dann wirst Du die bei Dir mitgelieferte Variante finden.
HTH Biber
willkommen im Forum.
Je nach Betriebssystem bzw. Windows-Version sind unterschiedliche Antworten richtig.
Da wir das bei Dir nicht wissen, könnten Lösungsansätze sein:
a) das M$-Utility At.exe
"at 20:00 /Every:So c:\dubts\unknown.bat" am CMD-Prompt eingeben
b) der M$-Nachfolger namens "Schtasks.exe" nach dem selben Muster
Das ist nicht von einem lispelnden Programmierer geschrieben wurden, sondern soll wohl "Scheduled Tasks"/"Verspätete Aufgaben" heißen.
Im "deutschen" Windows heißen die beiden Winzprogrämmchen "Befehlszeilen-Zeitplanungstools".
Hätten die "tools" auch übersetzt, wäre es noch länger *gg
c) über Klicki-Bunti geht es auch mit dem so genannten "Taskplaner" (siehe Windows-Hilfe)
d) über Fremdtools ...lasse ich mal weg.
Lohnt nicht für diese Aufgabe, 1x die Woche einen Batch aufzurufen.
Such also in Deiner Windows-Hilfe nach "Befehlszeilen-Zeitplanungstool". dann wirst Du die bei Dir mitgelieferte Variante finden.
HTH Biber