Xcopy *.avi in %date%(und einer fortlaufenden zahl).avi
Hallo leute
Ich hab ein realtiv grosses Problem.
Also ich habe eine webcam und mit dem dazugehörigen programm nimmt diese bilder auf.
Die werden dann in
C:\Documents and settings\%username%\my documents\my pictures\imagestudio\album\bewegungsbilder (bewegung 1.avi u.s.w) gespeichert.
Ich habe deshalb ein BAT File erstellt indem es alles von diesem ordner nimmt und umschreibt.
@echo off
:START
xcopy "C:\Documents and settings\%username%\my documents\my pictures\imagestudio\album\bewegungsbilder\*.avi" C:\TEST\%date%.avi /y /f
del "C:\Documents and settings\%username%\my documents\my pictures\imagestudio\album\bewegungsbilder\*.avi"
goto START
naja mein problem lieg in dem C:\TEST\%date%.avi weil am tag ca 20 videos aufgenommen werden und somit die ersten paar überspielt werden würden.
mit C:\TEST\%date%%time%.avi geht es leider auch nicht weil %time% immer sowas ausgibt 10:03:12.23 welches windows nicht als filename akzeptiert.
Gibt es eine möglichkeit einen counter einzubauen. damit es dann 29.03.2007_1.avi u.s.w heist?
oder eine möglichkeit die zeit so einzufügen das daraus 29.03.2007_10.03.27.23.avi wird? (also ohne doppelpunkt)
Mfg GOD_OF_WAR
Ich hab ein realtiv grosses Problem.
Also ich habe eine webcam und mit dem dazugehörigen programm nimmt diese bilder auf.
Die werden dann in
C:\Documents and settings\%username%\my documents\my pictures\imagestudio\album\bewegungsbilder (bewegung 1.avi u.s.w) gespeichert.
Ich habe deshalb ein BAT File erstellt indem es alles von diesem ordner nimmt und umschreibt.
@echo off
:START
xcopy "C:\Documents and settings\%username%\my documents\my pictures\imagestudio\album\bewegungsbilder\*.avi" C:\TEST\%date%.avi /y /f
del "C:\Documents and settings\%username%\my documents\my pictures\imagestudio\album\bewegungsbilder\*.avi"
goto START
naja mein problem lieg in dem C:\TEST\%date%.avi weil am tag ca 20 videos aufgenommen werden und somit die ersten paar überspielt werden würden.
mit C:\TEST\%date%%time%.avi geht es leider auch nicht weil %time% immer sowas ausgibt 10:03:12.23 welches windows nicht als filename akzeptiert.
Gibt es eine möglichkeit einen counter einzubauen. damit es dann 29.03.2007_1.avi u.s.w heist?
oder eine möglichkeit die zeit so einzufügen das daraus 29.03.2007_10.03.27.23.avi wird? (also ohne doppelpunkt)
Mfg GOD_OF_WAR
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 55352
Url: https://administrator.de/contentid/55352
Ausgedruckt am: 08.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo GODOFWAR und willkommen im Forum!
Für das %time%-Problem gäbe es folgenden Lösungsansatz:
Falls Dir nicht besonders an den Hundertstelsekunden gelegen ist, kannst Du auch die Verwendung der Variablen %Zeit% auf die ersten 8 Stellen einschränken (wie im zweiten "echo"-Beispiel gezeigt).
Mit Zähler würde das Ganze so aussehen:
Vor dem ":START" einen Startwert setzen, zB
und zum Weiterzählen vor dem "goto START"
Im "xcopy"-Befehl könntest Du dann als Ziel schreiben (um eine 2-stellige Nummer mit führender Null zu erhalten):
Grüße
bastla
Für das %time%-Problem gäbe es folgenden Lösungsansatz:
set Zeit=%time::=.%
set Zeit=%Zeit:,=.%
echo %Zeit%
echo %Zeit:~0,8%
Mit Zähler würde das Ganze so aussehen:
Vor dem ":START" einen Startwert setzen, zB
set /a Nummer=101
set /a Nummer+=1
... C:\TEST\%date%_%Nummer:~-2%.avi
Grüße
bastla
Moin GODOFWAR,
bin ein wenig verwirrt, weil Du in Deiner Eröffnungsfrage schriebst "mit C:\TEST\%date%%time%.avi geht es leider auch nicht", was darauf schliessen lässt, dass alle aktuellen Dateien in ein Verzeichnis geMOVEd werden sollen.
In Deinem letzten Kommentar drückst Du aber die Taste "F" für "File", weil es doch nur eine Datei ist??
Ich gehe mal davon aus, dass es sich bei "C:\TEST\%DATE:~6%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.avi"
um ein Verzeichnis handeln soll (sonst würde ja nur genau eine Datei ankommen).
In diesem Fall einfach einen Backslash oder ein "\*.*" anhängen.
...XCopy sourcekrams C:\TEST\%DATE:~6%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.avi\ /y /f
Aus Les- und Wartbarkeitsgründen würde ich Dir aber empfehlen, doch eine Zwischenspeicherung dieses Timestamps in eine Variable zu machen.
Und dann, wie auch der ursprüngliche Plan war, ein Verzeichnis dieses Namens anzulegen (md c:\test\%TimeStamp%.avi) und nicht mit XCopy sondern mit dem etwas schlankeren MOVE-Befehl die Dateien in dieses existierende Verzeichnis zu verschieben.
Gruss
Biber
bin ein wenig verwirrt, weil Du in Deiner Eröffnungsfrage schriebst "mit C:\TEST\%date%%time%.avi geht es leider auch nicht", was darauf schliessen lässt, dass alle aktuellen Dateien in ein Verzeichnis geMOVEd werden sollen.
In Deinem letzten Kommentar drückst Du aber die Taste "F" für "File", weil es doch nur eine Datei ist??
Ich gehe mal davon aus, dass es sich bei "C:\TEST\%DATE:~6%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.avi"
um ein Verzeichnis handeln soll (sonst würde ja nur genau eine Datei ankommen).
In diesem Fall einfach einen Backslash oder ein "\*.*" anhängen.
...XCopy sourcekrams C:\TEST\%DATE:~6%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.avi\ /y /f
Aus Les- und Wartbarkeitsgründen würde ich Dir aber empfehlen, doch eine Zwischenspeicherung dieses Timestamps in eine Variable zu machen.
Und dann, wie auch der ursprüngliche Plan war, ein Verzeichnis dieses Namens anzulegen (md c:\test\%TimeStamp%.avi) und nicht mit XCopy sondern mit dem etwas schlankeren MOVE-Befehl die Dateien in dieses existierende Verzeichnis zu verschieben.
Gruss
Biber