webForumDet fria alternativet

Batchfil som flyttar filer var 5e minut

Windows

19 svar · 1 102 visningar · startad av jwradhe

Medlem sedan juni 2002711 inlägg
Frågan#1

Hej! Jag är helt ny på det här me batch filer, så finns det någon stans man kan lära sig lite av detta så ja kan göra användbara batchar på jobbet.

Det ja är ute efter nu är att skapa en batchfil som flyttar 50 filer från map1 till map2 var 5e minut. Går detta att göra??

Medlem sedan juli 200287 inlägg
#2

jwradhe skrev:

Hej! Jag är helt ny på det här me batch filer, så finns det någon stans man kan lära sig lite av detta så ja kan göra användbara batchar på jobbet.

Det ja är ute efter nu är att skapa en batchfil som flyttar 50 filer från map1 till map2 var 5e minut. Går detta att göra??

Skriv följande rad i bat-filen:
copy c:\mapp1\*.* c:\mapp2
Ändra till önskade sökvägar.

Lägg sedan en schemaläggning på denna filen var 5:e minut.
Du hittar "Schemalagda aktiviteter" under "Kontrollpanelen".

Medlem sedan juni 2002711 inlägg
#3

Hur gör jag så den endast flyttar 50 filer? Har nämligen uppemot 20000 filer där.

Medlem sedan juni 20014 421 inlägg
#4

Jag är inte sådär kanonduktig på bat-filer men du lär behöva en räknare som räknar hur många filer som kopieras och sedan avbryter när den nått 50. Däremot så skulle det vara kanonlätt att implmentera det som ett VBScript.

Medlem sedan feb. 200112 078 inlägg
#5
set fso = createobject("scripting.filesystemobject")
set folder = fso.getfolder("c:\mapp1")
i = 0
for each file in folder.files
   file.move "c:/mapp2"

   if i = 49 then exit for
   i = i + 1
next

set folder = nothing
set fso = nothing

Spara som .vbs och schemalägg i Windows, att köras var femte minut.

Medlem sedan juni 20031 837 inlägg
#6

vill du alltid kopiera de 50 första filerna av de där 20 000? eller ska den först kopiera 1-50, sedan 51-100, o.s.v.?

Medlem sedan juni 20014 421 inlägg
#7

Han vill flytta filerna...

Medlem sedan feb. 200112 078 inlägg
#8

The_Hulk skrev:

vill du alltid kopiera de 50 första filerna av de där 20 000? eller ska den först kopiera 1-50, sedan 51-100, o.s.v.?

Ja, jag glömde nämna det med mitt script, det går inte efter när filerna skapades eller nåt sånt, utan bara helt enkelt hur sorteringsordningen är satt i mappen i Windows (tror jag).

Medlem sedan juni 20031 837 inlägg
#9

colione skrev:

Han vill flytta filerna...

Oops, läste inte tillräckligt noga :r

Medlem sedan juni 2002711 inlägg
#10

Spelar ingen roll i vilken ordning, bara det blir endast 50 åt gången, då programmet som ska äta upp filerna e lite knas och pallar inte med mer än 50 åt gången.

Medlem sedan feb. 200112 078 inlägg
#11

jwradhe skrev:

Spelar ingen roll i vilken ordning, bara det blir endast 50 åt gången, då programmet som ska äta upp filerna e lite knas och pallar inte med mer än 50 åt gången.

Ja, då funkar ju mitt script alldeles utmärkt. Under förutsättning att du inte har en "tillväxt" av filer på mer än 50 per varje 5:e minut, i snitt.

Medlem sedan maj 20033 218 inlägg
#12

kanske något sådant här?

@echo off
cls
echo -----------------------------------
echo Flyttar filer var 5e min
echo -----------------------------------
goto start

:start
copy c:\mapp1\*.* c:\mapp2
del c:\mapp1\*.* /Q
ping localhost -n 300 > null
goto start
Medlem sedan juni 20014 421 inlägg
#13

Ehh, den där ser farlig ut....den kommer ju att tabort alla filer i mapp 1....då känns det ju bättre att använda move...

Medlem sedan feb. 200112 078 inlägg
#14

Sjodahl skrev:

kanske något sådant här?

@echo off
cls
echo -----------------------------------
echo Flyttar filer var 5e min
echo -----------------------------------
goto start


:start
copy c:\mapp1\*.* c:\mapp2
del c:\mapp1\*.* /Q
ping localhost -n 300 > null
goto start

Den där fungerar ju inte alls som det är tänkt, eftersom den aldrig tar hänsyn till antalet filer. Om det är 100000 filer i mappen så försöker den ju kopiera alla på en gång och sen ta bort dem allihopa ur källmappen.

Jag håller med föregående talare, det känns lite risky..

Medlem sedan maj 20033 218 inlägg
#15

colione skrev:

Ehh, den där ser farlig ut....den kommer ju att tabort alla filer i mapp 1....då känns det ju bättre att använda move...

Läste det nog lite snabbt..

"Det ja är ute efter nu är att skapa en batchfil som flyttar 50 filer från map1 till map2 var 5e minut. Går detta att göra??"

Läste jag bara såg inte det fanns mer filer där..

Medlem sedan maj 20033 218 inlägg
#16

jwradhe skrev:

Spelar ingen roll i vilken ordning, bara det blir endast 50 åt gången, då programmet som ska äta upp filerna e lite knas och pallar inte med mer än 50 åt gången.

Inte bättre och kolla vad detta beror på?
Är väl bara första gången det kommer ta tid?
För jag antar det inte fylls på med mer än 50filer var 5e min.

(är det stora filer?)

Medlem sedan dec. 20014 239 inlägg
#17

Nu var det länge sedan jag "batchade" :e

Men jag har för mig att programmet robocopy var väldigt använbart för batchhantering.
Leta upp det på nätet och se om det går att använda..

Medlem sedan juni 20014 421 inlägg
#18

Robocopy ingår i Windows Server 2003 Resource Kit Tools....finns att tanka hem på ms hemsida. Men han har ju faktiskt fått en alldeles utmärkt lösning i vbscript....

Medlem sedan dec. 20014 239 inlägg
#19

colione skrev:

Men han har ju faktiskt fått en alldeles utmärkt lösning i vbscript....

Helt riktigt..

Medlem sedan juli 20072 inlägg
#20

Hej!
Jag har ett liknande problem. Skulle vilja göra en batchfil som rensar bort de äldsta filerna i en mapp, då den överskrider en viss storlek. Är det någon som har en idé hur man kan göra?

:q

266 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)