g4rfi3ld
Goto Top

5 neusten Datein Kopieren

Hey beisammen mit hielfe von bastla ist die batch datei fähig. sie tut im grobenund ganzen das was sie sollte.... hab aber das problem das sie alles copiert von den *.jeg daten. Ich bräuchte aber nur die Letzten 5 aktuellen von dem jetzigen tag bzw die von dem tag. Es fallen ca 30 bis 40 daten an brauche aber nur die letzten 5 bis 6 aktuellen.

Das script ist wie folgt

original von bastla

@echo off & setlocal 
set "Quelle1=demo*.dem"   

set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS"   

set "jahr=%date:~-4%"   
set "monat=%date:~-7,2%"   
set "tag=%date:~-10,2%"   
set "stunden=%time:~0,2%"   
set "stunden=%stunden: =0%"   
set "minuten=%time:~3,2%"   

pushd .. 
for %%i in ("%Quelle1%") do copy "%%i" "%Ziel%\%%~ni_%jahr%%monat%%tag%_%stunden%%minuten%%%~xi" >nul   

popd

von mir geändert

@echo off & setlocal 
set "Quelle1=demo*.dem"   
set "Quelle2=snapshot*.jpg"  
set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS"   

set "jahr=%date:~-4%"   
set "monat=%date:~-7,2%"   
set "tag=%date:~-10,2%"   
set "stunden=%time:~0,2%"   
set "stunden=%stunden: =0%"   
set "minuten=%time:~3,2%"   

pushd .. 
if not exist "%Ziel%" md "%Ziel%"   
for %%i in ("%Quelle1%") do copy "%%i" "%Ziel%\%%~ni_%jahr%%monat%%tag%_%stunden%%minuten%%%~xi" >nul   
for %%i in(("%Quelle2%") do copy "%%i" "%Ziel%\%%~ni_%jahr%%monat%%tag%_%stunden%%minuten%%%~xi" >nul  
popd


setlocal enabledelayedexpansion
set Anzahl=6
set zahl=1

pushd ..


FOR /F "delims=" %%i in ('dir /b /O-D') do (  
if !zahl! leq %anzahl% copy "%%i" "Ziel"  
set /a zahl=!zahl!+1
)

ab
setlocal enabledelayedexpansion
habs ich aus dem Forum hier ich hab auch versucht die quelle2 zu enfernen aber dan copiert er garnix....
bin auch schon seit ca 15uhr mit meinem Besten freud Google unterwegs aber der hielft nicht wirklich da er immer wieder auf euch verweist...... soll nicht heisen das ihr schlecht seit aber ihr habt ja auch sufu
lange rede kurzer sin... Mein Hirn ist Overloadet


ich vergass zu erwähnen das die datein im ordner ...ordner1/screenshots und die batch datei im ... ordner1/cfg ist
die datein sind mit snapshot0001.jpg fortlaufend gespeichert

Content-Key: 107699

Url: https://administrator.de/contentid/107699

Printed on: April 19, 2024 at 19:04 o'clock

Mitglied: 60730
60730 Jan 31, 2009 at 19:15:02 (UTC)
Goto Top
Servus,

nimm erstmal Zeile 21 + 22 ganz nach oben zu den anderen "Sets"
Zeile 20 doppelt setlocal kann auch raus.
Zeile 16 raus und gegen 27 ff bzw. die Änderung tauschen.

FOR /F "delims=" %%i in ('dir %Quelle2% /b /O-D') do (   
if !zahl! leq %anzahl% copy "%%i" "%Ziel%"   
set /a zahl=!zahl!+1 
)

sollte (ungetestet) eher funktionieren.

Gruß

Ps: Erst wenn die Batch richtig läuft, das echo off rausnehmen - gefällt mir persönlich besser und macht die Fehlersuche einfacher. face-wink
Member: G4rfi3ld
G4rfi3ld Jan 31, 2009 at 19:44:03 (UTC)
Goto Top
Tach auch timo beil

ok hab ich gemacht und bis dato geteste... klappt ganz gut auser das er die daten *jpg nicht aus dem unterordner screenshots holt
sonder aus dem ordner wo die demos sind aber dort werden normaler weise keine *.jpg gespeichert (aber da ich manuell welche eingefügt habe funktioniert es pervect nur falscher ordner)


ich glaub ich habs..... moment bitte

@echo off & setlocal enabledelayedexpansion
set "Quelle1=demo*.dem"   
set "Quelle2=snapshot*.jpg"  
set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS"   

set "Anzahl=5"  
sat "zahl=1"  

set "jahr=%date:~-4%"   
set "monat=%date:~-7,2%"   
set "tag=%date:~-10,2%"   
set "stunden=%time:~0,2%"   
set "stunden=%stunden: =0%"   
set "minuten=%time:~3,2%"   

pushd .. 
if not exist "%Ziel%" md "%Ziel%"   
for %%i in ("%Quelle1%") do copy "%%i" "%Ziel%\%%~ni_%jahr%%monat%%tag%_%stunden%%minuten%%%~xi" >nul   
for /f "delims=" %%i in ('dir %Quelle2% /b /O-N /O-N') do (    
if !zahl! leq %anzahl% copy "%%i" "%Ziel%"    
set /a zahl=!zahl!+1  
)



popd

ne funktioniert doch nicht....... also muss ich die quelle2 umdeklarieren.... mom mein freund ruft sufu alias google....

also ich hab nun izwischen zeile 18 und 19 cd screenshots eingefügt

nun copiert er mir sämtlich jpg datein in ordner DEMOS brauche aber nur 5-6
Member: G4rfi3ld
G4rfi3ld Jan 31, 2009 at 20:58:39 (UTC)
Goto Top
da lagt mein problem
in zeile 1 hatte ich bei mir diesen befehl enabledelayedexpansion rausgelöscht und schon funktionirte es nicht mehr!!!

hinzu kommt noch wie oben beschrieben zwischen zeile 18 und 19 cd screenshots einfügen


und tada es funktioniert .... DAnkE Timo fürs aufräumen bei der datei... fehlersuche war dadurch einfacher ....


*fettfreu*