Avatar billede f-andersen Nybegynder
18. februar 2006 - 23:19 Der er 16 kommentarer og
1 løsning

Flytte filer fra en mappe til en anden

Hej,

Findes der et program der kan flytte filer fra en mappe til en anden?

Jeg har en mappe der hedder export (C:\export), hvor jeg har et program til at exportere nogle filer i. Det programmet skal kunne, er så straks der kommer en fil i den mappe, skal den flytte den til en mappe der hedder data (E:\data).

Hvor finder jeg den slags programmer?
Avatar billede rynke10 Novice
19. februar 2006 - 05:13 #1
Ved ikke lige om det er optimalt, men du kan lave en bat fil der indeholder
MOVE C:\export\*.* E:\data\
og starte den hvert 5 min eller hvor tit det nu skal være. Altså ikke manuelt, tror du kan sætte den i planlagte opgaver og så automatisk starte.
Ellers skal du have lavet et lille program der overvåger det hele tiden og kører i baggrunden.
Avatar billede f-andersen Nybegynder
19. februar 2006 - 10:48 #2
Har overvejet bat-filen, men, der må være noget der er lidt mere elgant?

Et lille program der overvåger, så straks der kommer en fil i C:\export så flytter den filen til E:\data, det ville klart være det optimale.
Avatar billede f-andersen Nybegynder
22. februar 2006 - 20:23 #3
Jeg har endnu ikke fundet et lille program der overvåger mapperne.. Nogle bud?
22. februar 2006 - 20:56 #4
... standby - har et forslag lige imorgen...
23. februar 2006 - 06:19 #5
En *.CMD fil indeholdende eksempelvis følgende:
===================================
@echo off
:igen
if not exist C:\export\test.log goto skip
echo Found File...Moving File...
MOVE C:\export\test.log C:\data\
:skip
sleep for 5
goto igen
===================================

Den ka' så selv rulle rundt og rundt - evt. minimeret.

Du ka' selv fedte med SLLEP tiden, filnavn, osv

Nævnte SLEEP.EXE kan findes ved
ftp://ftp.sac.sk/pub/sac/utiltask/sleep_47.zip
Avatar billede f-andersen Nybegynder
23. februar 2006 - 07:58 #6
Hvis det nu ikke kun er log tiler.

@echo off
:igen
if not exist C:\export\*.* goto skip
echo Found File...Moving File...
MOVE C:\export\ C:\data\
:skip
sleep for 5
goto igen

Eller hvad? Det er blandede fil typer og filnavne der kommer til at være i export mappen.
23. februar 2006 - 16:40 #7
Tja...
... prøv om det vil virke ...

Ka' "blandede fil typer og filnavne" recikere at have mellemrum i navnet - UF...

@echo off
:igen
if not exist "C:\export\*.*" goto skip
echo Found File...Moving File...
MOVE "C:\export\*.*" "C:\data\."
:skip
sleep for 5
goto igen

(Er IKKE afprøvet i skrivende stund...)
Avatar billede f-andersen Nybegynder
23. februar 2006 - 17:14 #8
Jeg prøver nyeste udgave af script. Filerne kan komme til at hedde export1 export 1 export-1 osv... Så ja, mange foreskellige..
Avatar billede f-andersen Nybegynder
23. februar 2006 - 17:20 #9
Det lader til at fungere, med forskellige filtyper og navne..

Hvordan vil den klare store mængder data?
Avatar billede f-andersen Nybegynder
23. februar 2006 - 17:28 #10
hehe kan godt være jeg begynder at være krævende, men kan man lave en log over hvilke filer den flytter? Så man har noget at gå tilbage til?
23. februar 2006 - 22:09 #11
@echo off
:igen
if not exist "C:\export\*.*" goto skip
echo Found File...Moving File...
dir /b "C:\export\*.*" >> C:\data\files.log
MOVE "C:\export\*.*" "C:\data\."
:skip
sleep for 5
goto igen


Prøv evt. forskellige kombinationer af DIR /b
(Er IKKE afprøvet i skrivende stund...)

Ikke noget problem med "store" mængder data (antal/størrelse) - har prøvet med 4 x 200Mb filer!!! _Måske_ hvis der bliver skrevet i til en fil imens den bliver MOVE; men jeg tror at den bliver 'låst' af systemet imens der bliver skrevet til den (er 'åben') så den IKKE ka' MOVES - kommer an på en prøve ? Efterprøv det helst på en eller anden måde. Det ka' være at MOVE 'brokker' sig på en eller anden fejlmeldning og scriptet så går istå ? Hmmm...
23. februar 2006 - 22:12 #12
BONUS version (gæt selv hvad den gør)

@echo off
:igen
if not exist "C:\export\*.*" goto skip
echo Found File...Moving File...
dir /b "C:\export\*.*" >> C:\data\files.log

echo. | time | find " til:" >> C:\data\files.log
echo. | date | find " til:" >> C:\data\files.log

MOVE "C:\export\*.*" "C:\data\."
:skip
sleep for 5
goto igen
23. februar 2006 - 22:22 #13
... der er vist et eller andet sted (her på Eksperten.dk) et trix mht at få et fornuftig datoformat ud fra 'time' + 'date' - prøver at finde det...
23. februar 2006 - 22:30 #14
Ref.: http://www.eksperten.dk/spm/690127

Selvfølge ka' du bruge variblen %time% + %date%

Noget i denne retning:

@echo off
:igen
if not exist "C:\export\*.*" goto skip
echo Found File...Moving File...
dir /b "C:\export\*.*" >> C:\data\files.log

echo %time% %date% >> C:\data\files.log

MOVE "C:\export\*.*" "C:\data\."
:skip
sleep for 5
goto igen
Avatar billede f-andersen Nybegynder
24. februar 2006 - 08:03 #15
Kommer du med et svar dr1 ?
25. februar 2006 - 10:13 #16
Ping...

(Det var et [svar]...)

Ka' forstå at det ka' bruges ?

Evt. fedtes lidt med mht tiden/format/...
Avatar billede f-andersen Nybegynder
25. februar 2006 - 11:34 #17
Kan sagtens bruges, jeg prøver at lege lidt med at "logge" hvad den flytter :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester