Possible to create "file rules" similar to email rules

maccaquacker

New member
Member
Local time
10:45 AM
Messages
63
Hi guys,

Ive been searching around for a way to get files to copy themselves from a certain folder into another one IF they're below a certain size. I was wondering if anyone knows of a program or script that I can schedule to do this for me.

Basically heres the problem: When I download work it goes to the downloads folder where I want it. I use dropbox and sometime I save work into the downloads folder assuming its in the dropbox folder and will sync to the cloud, only when I open my work computer I realise that the file is not present. I want to know if i can set files below a certain size (say 50MB, so I dont get huge downloaded videos and apps syncing) to copy into a temporary location in my dropbox folder as soon as they are saved or changed.

thanks
tom
 

My Computer My Computer

At a glance

Windows 7 Professional 32-bit, Windows 8 Pro ...
OS
Windows 7 Professional 32-bit, Windows 8 Pro (sometimes)
Moving files based on size and moving files based on changes to them are very different problems, the former being the easiest to solve. You can write a batch file to run every x amount of time (via task scheduler) that will scan the directory and copy files if they are smaller than a certain size. You might create a file called "size.bat" within the same directory

Code:
@echo off
cls
setlocal

set maxsize=52428800 

FOR /F "usebackq delims=" %%A in (`dir /a-d-h /b`) do (

set size=%%~zA

if %size% LSS %maxsize% (
copy "%%A" "C:\Dropbox"
) 

)

The above file will scan the current directory (for only files, omitting the scanning of any subfolders) and will copy any files it finds to be less than 50MB (which equals 52428800 bytes) to the C:\Dropbox directory. Obviously, you will have to change that directory to wherever your Dropbox directory currently resides. And, you can change the maxsize as well. Just make sure you translate the size into bytes as that's how the "dir" command natively reports back file sizes.

You can then use Task Scheduler to set up this batch file to run at whatever interval you'd like to transfer the files.

The latter issue of copying files based on changes is a much more involved issue that I don't currently have the time to address, but it's doable with the same concepts and coding I've shown you here.
 

My Computer My Computer

At a glance

XP / Win7 x64 ProIntel Quad-Core Q9450 @ 3.2GHz2x2GB GSkill DDR2NVIDIA GeForce 8600 GTS (EVGA)
OS
XP / Win7 x64 Pro
CPU
Intel Quad-Core Q9450 @ 3.2GHz
Motherboard
Asus P5-E
Memory
2x2GB GSkill DDR2
Graphics Card(s)
NVIDIA GeForce 8600 GTS (EVGA)
Monitor(s) Displays
Dell 2408WFP
Screen Resolution
1920x1200
Back
Top