Wer kann VBS? brauche Copy befehl

brudonatonati

Banned
Registriert
Aug. 2018
Beiträge
56
Hallo Leute

Ich suche Hilfe da ich etwas ständig prüfen will und falls vorhanden kopieren.
Also ich stell mir das ganze so vor:

falls in C:\Test\ Daten mit *.txt existieren, sollen alle nach C:\User\Test\%Jahr-Monat%\ kopiert werden.
Das prüfen soll von mir aus alle 10-20 sek oder ne Minute dauern spielt keine Rolle.
(Jeden Monat soll sozusagen noch ein Ordner erstellt werden und die Daten im neuen Ordner abgelegt werden)

Ich hab einiges nachgesehen auf Google aber ich wird nicht so ganz schlau draus.

Kann mir einer helfen?
 
Ich würds über ne Batchdatei lösen
Code:
xcopy /s "C:\Test\*.txt" "C:\User\Test\"
 
Was passt dir an der Antwort nicht? Es macht genau das, was es du willst. Es kopiert alle .txt Dateien aus Ordner A nach Ordner B. Es ist kein VB, aber ohne Kontext ist für simple Kopieraufgaben ein batchscript imho die bessere Wahl.
Man kann das natürlich noch aufblasen. Ich war z.B. grad dran das schript um deinen %Jahr-Monat% zu erweitern, aber wenn du mir so kommst, kann ich es auch sein lassen.
 
Zuletzt bearbeitet:
es geht nicht nur um das Jahr monat sondern auch um die Ständige Prüfung
Und das kann ein Batch nicht
 
Code:
Dim dt
dt=now

FileSystemObject.CopyFile "C:\Test\*.txt", "C:\User\Test\" & year(dt) & "-" & month(dt) & "\"

Ohne zu wissen, worauf getestet werden soll - das FileExists von vb kennt keine Wildcards ...
 
@Andreas

Brauch ich da noch einen Loop der das immer wiederholt oder kann man das nun zb. einstellen für alle 5000ms?
Kann ich auch statt FileSystemObject.CopyFile irgendwie "foreach" nehmen?

also falls es mehr als eine Datei ist!
 
Warum sollte per Batch keine periodische Ausführung des Kopierbefehls möglich sein?

Das kombiniert man mit einem Sprungbefehl, der nach einer mit Timeout eingestellten Wartezeit zurück zum Anfang des Batches springt, die Xcopy Zeile erneut ausführt und dann wieder zum Timeoutbefehl kommt. So lässt sich das problemlos in einer Endlosschleife ausführen. Andererseits lässt sich die Xcopy Zeile auch per Aufgabenplanung periodisch und sogar ohne sichtbares Fenster ausführen.
 
brudonatonati schrieb:
@Andreas
... oder kann man das nun zb. einstellen für alle 5000ms?
Dann werden aber alle 5 Sekunden die Dateien kopiert, also entweder sollte man die Quelldateien nach dem kopieren löschen, oder testen ob die Dateien schon im Zielverzeichnis vorhanden sind.
 
@lynxx ist korrekt so.

@areiland
das ist alles Bastellösung.
Dan hab ich noch eine Batch immer im vordergrund die Ausgeführt wird... Gut dan kann man sagen das man mit verknüpfungen etc. arbeiten kann um noch mehr zu basteln etc.

Oder man macht es ein mal richtig und ist zufrieden ;)
 
@brudonatonati
Du hast behauptet, dass man in einem Batch keine periodische Ausführung hinbekommt und ich hab Dir die Möglichkeiten genannt, mit denen das problemlos möglich ist. Für solche Sachen sehe ich das als die einfachste Lösung an.
 
Was bedeutet in der batch bei Zeitangaben die ganzen 4,4 7,2 8,1 oder was auch immer?
das nach dem komma ist die anzahl Stellen doch was ist das davor?
 
Ein Beispiel gibts keins? Mit Angaben wie "~1,2" können Ausgaben um eine Anzahl von Zeichen vor und hinter dem Komma eingekürzt werden, um unnötige Angaben zu entfernen.
 
Zuletzt bearbeitet:
%date:~-10,2%
oder %date:~-4,4%
was bedeutet hier die einzelnen Elemente? zb. ~ und - sowie das 10?
 
Console aufmachen, echo %date:~-10,2% eingeben, Zahlen aendern und sehen was passiert.
 
brudonatonati schrieb:
Kann mir einer helfen?

Bist du sicher dass man dir helfen kann?
Du verlangst nur etwas Fertiges was in dein Schema passt, aber selbst probieren ist nicht drin?!
 
  • Gefällt mir
Reaktionen: Andreas_, Nase, areiland und eine weitere Person
Zurück
Oben