Supportnet / Forum / BS-Sonstige
if date copy?
Frage
Ich möchte eine datei an einen anderen Ort kopieren, wenn das systemdatum einen bestimmten wert erreicht hat. Dies soll zum beispiel zu jedem systemstart in der autoexec überprüft werden und wenn das datum erreicht ist ausgeführt werden... ist das batchmäßig möglich? Über Alternativen wäre ich natürlich auch höchst erfreut...
Thx
Antwort 1 von MixMax
also wenn du ins windows hochfährst könnte dir ein kleines vbs im Autostart von windows helfen *grübel* :
(2 min später)
im beispiel am jeden 27. des monats (achtung so macht er es nun bei jeden start an besagten tag)
(2 min später)
if day(now()) = 27 then
set fs = createobject("scripting.filesystemobject")
fs.CopyFile "quelldatei.txt", "zieldatei.txt", true
' der dritte parameter true bestimmt das
' zieldatei überschrieben wird falls vorhanden !
end if
im beispiel am jeden 27. des monats (achtung so macht er es nun bei jeden start an besagten tag)
Antwort 2 von AustinPowers
Aah... danke für die schnelle Hilfe... da ich von vbs nun rein gar keine ahnung habe, wüßte ich gern wie ich so ne vbs.datei erstelle... reichts wenn ich das skript in ne mit notepad erstellte datei kopiere und die datei anschließend als *.vbs speichere?
wenn ich das ganze auf einen speziellen monat und tag beziehen will wäre dann folgendes richtig?
if day(now()) month (now()) = 27 05 then
und da das skript nur einmal ausgeführt und dann nie wieder genutzt werden soll und ich so ein kleiner Perfektionist bin, soll es sich anschließend aus der autostart löschen, nachdem es sich ausgeführt hat...
Ich seh schon... Ich sollte mich mit vbs mal eingehender beschäftigen, da man damit wesentlich explizierter zu arbeiten scheint als mit batch... Aber da schein ich hier auch ausdrücklich an der richtigen Stelle gelandet zu sein.
Danke!
AP
wenn ich das ganze auf einen speziellen monat und tag beziehen will wäre dann folgendes richtig?
if day(now()) month (now()) = 27 05 then
und da das skript nur einmal ausgeführt und dann nie wieder genutzt werden soll und ich so ein kleiner Perfektionist bin, soll es sich anschließend aus der autostart löschen, nachdem es sich ausgeführt hat...
Ich seh schon... Ich sollte mich mit vbs mal eingehender beschäftigen, da man damit wesentlich explizierter zu arbeiten scheint als mit batch... Aber da schein ich hier auch ausdrücklich an der richtigen Stelle gelandet zu sein.
Danke!
AP
Antwort 3 von MixMax
was das erstellen geht - jo einfach notepad, als .vbs speichern.
Wegen der festlegung wann die Sache ausgeführt wird :
am 27. des monats januar
if day(now()) = 27 and month(now()) = 1 then
am 27. der monate januar und Juli
if day(now()) = 27 and (month(now()) = 1 or month(now()) = 7) then
am 27. und 1. der monate januar und Juli
if (day(now()) = 27 or day(now()) = 1) and (month(now()) = 1 or month(now()) = 7) then
soviel zum verschachteln von or und and abfragen für den jeweiligen zweck.
nun könnte man noch abfragen wann bestimmte dateien zuletzt geöffnet oder geändert wurden um festzustellen ob die datei überhaupt kopiert werden muß.
mit sich selber löschen geht nicht ohne weiteres da Datei gerade verwendet wird, machst du aber eine verknüpfung auf die datei dann kannst du die verknüpfung löschen.
wobei du in dem fall auch den taskplaner benutzen kannst.
Wegen der festlegung wann die Sache ausgeführt wird :
am 27. des monats januar
if day(now()) = 27 and month(now()) = 1 then
am 27. der monate januar und Juli
if day(now()) = 27 and (month(now()) = 1 or month(now()) = 7) then
am 27. und 1. der monate januar und Juli
if (day(now()) = 27 or day(now()) = 1) and (month(now()) = 1 or month(now()) = 7) then
soviel zum verschachteln von or und and abfragen für den jeweiligen zweck.
nun könnte man noch abfragen wann bestimmte dateien zuletzt geöffnet oder geändert wurden um festzustellen ob die datei überhaupt kopiert werden muß.
mit sich selber löschen geht nicht ohne weiteres da Datei gerade verwendet wird, machst du aber eine verknüpfung auf die datei dann kannst du die verknüpfung löschen.
wobei du in dem fall auch den taskplaner benutzen kannst.
Antwort 4 von AustinPowers
Aah... scheint ja garnicht so schwer zu sein... warum werden denn immer abwechselnd mal 4 und mal 5 klammern verwendet? reine übersichtssache oder knallharte syntaxforderung?
Vielen Dank für die schnelle detaillierte Hilfe... Nur eine Frage bleibt noch offen...
Wann schläfst du eigentlich? (Hab mir mal deine Antwortzeiten angeschaut)
:-)
Vielen Dank für die schnelle detaillierte Hilfe... Nur eine Frage bleibt noch offen...
Wann schläfst du eigentlich? (Hab mir mal deine Antwortzeiten angeschaut)
:-)
Antwort 5 von AustinPowers
Ups... eine Frage noch... welcher befehl ist fürs löschen von dateien da? Hab mal ein bisserl mit shell und del rumprobiert, aber das funktioniert nicht... :-(
Antwort 6 von Frank9999
Gibt es einen bestimmten Grund, warum niemand XCOPY verwenden will? Nichts gegen VB-Script, aber wenn es um EINE bestimmte Datei geht, bei der man auch weiß, in welchem Verzeichnis sie liegt...
Mein Vorschlag für die Autoexec.bat wäre:
XCOPY <BestimmteDatei> <Ziel> /D:<Datum> /Y
Oder hab ich nur die Hälfte verstanden?
Gruß
Frank
Mein Vorschlag für die Autoexec.bat wäre:
XCOPY <BestimmteDatei> <Ziel> /D:<Datum> /Y
Oder hab ich nur die Hälfte verstanden?
Gruß
Frank

