DropIt

If you are currently developing portable freeware or planning to do so, use this forum to discuss technical implementation, seek out like-minded developers for partnership, or solicit interested users for beta testing.
Message
Author
jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1366 Post by jordy1955 »

Hey @KJD, Tried your suggestions but no luck. Thing is, how do I format the string? does it need to be enclosed in (), [], {}, <> or "" etc?

KJD
Posts: 28
Joined: Fri Apr 24, 2015 6:19 pm

Re: DropIt

#1367 Post by KJD »

Sorry

should have loaded the latest version for testing

In the rules box you need to enter without quotes or brackets just
s.?\d.e.?\d

you must also click the info button and check the "Consider as regular expression"

tested as a match with myfile.s01e01 others.ext

note there MUST be 2 digits between the s and e but the e may be followed instantly by 1 or more digits
allows for series 99 episode 101 :wink:

hope that works as a starter

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1368 Post by jordy1955 »

Thanks for that. I copied and pasted your string into the rules box exactly as shown and it worked!!! :D . Many thanks. Now, one more question if I can... How do I make it not case sensitive, If I use the ; separator and add a second string with upper case S & E, it doesn't work :cry: Do I need to add a separate rule?

KJD
Posts: 28
Joined: Fri Apr 24, 2015 6:19 pm

Re: DropIt

#1369 Post by KJD »

Hi Jordy 1955

Im a novice at regex I think there is a way to add case insensitive queries, but my suggestion is, as you say to perhaps have four rules

S with e
s with e
S with E
s with E

if files match one of those rules I think can be "recursed" to a combined second action but have not recently tried that

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1370 Post by jordy1955 »

@KJD, no probs, I just duplicated the rule - actions included as they will be the same anyway. Extremely unlikely the s & e will be in mixed cases so only two rules req'd. Tested and working great. Once again thanks for your assistance.
:D :D

cheers

jordy

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1371 Post by jordy1955 »

@KJD, just thought I'd let you know that I've sussed it. Needed to add (?i) to the start of the string. Works like a charm even with mixed cases :D

cheers

jordy

KJD
Posts: 28
Joined: Fri Apr 24, 2015 6:19 pm

Re: DropIt

#1372 Post by KJD »

@jordy1955

glad I could help though its still a mystery to me exactly how each \d component works, I must RTFM.
It would help if there was some "idiots guide to AutoIt RegEx" showing real world examples such as yours

also be nicer if drop-it shows the "real time" effect on a bunch of files selected or in a folder whilst editing a rule, I had to tweak save unload rerun, tweak save unload rerun (reminds me of a groundhog day song:-)

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1373 Post by jordy1955 »

KJD wrote:@jordy1955

glad I could help though its still a mystery to me exactly how each \d component works, I must RTFM.
It would help if there was some "idiots guide to AutoIt RegEx" showing real world examples such as yours

also be nicer if drop-it shows the "real time" effect on a bunch of files selected or in a folder whilst editing a rule, I had to tweak save unload rerun, tweak save unload rerun (reminds me of a groundhog day song:-)
It's all a bit of a mystery to me :) I like your ideas about the regex guide and real time effects to rules changes, but it seems that Lupo has just about dropped the ball - no activity for quite a while now :(
Anyway at least it's doing what I want now.

thanks and cheers

jordy

starstuff
Posts: 67
Joined: Sat Mar 09, 2013 7:06 pm

Re: DropIt

#1374 Post by starstuff »

i hope its not dropped, its a very good application and can improve more

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1375 Post by jordy1955 »

Hey @Lupo73, - if you're still around ;), a request please.

Can you please advise "how to" or "add a function to" move all items with the same filename (but with different extensions) at the same time to the same folder regardless of size?

For example: a Video file called "My Video File.mkv" and it's accompanying subtltle files eg "My Video File.srt", "My Video File.idx", "My Video File.sub" etc

I have a set up where movies of different quality are moved to different folders eg >9Gb to one folder, 3Gb > 9Gb to a 2nd folder and <3Gb to a third.

Because everything is based on size all of the subtitle files are moved to the 3rd folder which is obviously not optimal.

Thanks for taking the time... :)

jordy

KJD
Posts: 28
Joined: Fri Apr 24, 2015 6:19 pm

Re: DropIt

#1376 Post by KJD »

Hi jordy, Kieran again

If you look at what your asking in program terms it is along the lines of

1. need to find the name of the main file e.g. My Video File.mkv
2. then based on its size
use that filename to move all files with that name and any.ext to the target folder

this is the type of task where recursion usually kicks in
your first rule, much as it is, just needs to look at *.mkv and "size" up the main file.name
then the more tricky bit passing that name to a second pass (=recursion)

to keep it simples you could consider 3 one line batch or command files called say movem-big.cmd movem-mid.cmd movem-tiny.cmd
each would at its simplest be one lines so movem-mid.cmd would be a line like
move %1.* "c:\mymid size movies"

where dropit action for mid range mkv files is OPEN WITH "C:\Portable Apps\DropIt\movem-mid.cmd" "%ParentDir%\%FileName%"

there are many ways to better that such as calling a second copy of dropit rather than have 3 "helpers"
but I hope this suggestion guides you to your solution

[EDIT]
without me testing I think the best answer may be to tell dropit the desired action is along the lines of
MOVE "%ParentDir%\%FileName%*" "c:\mymid size movies"
or
MOVE "%ParentDir%\%FileName%*" "C:\Destination\%SubDir%"
to force a new subdirectory

Kieran

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1377 Post by jordy1955 »

KJD wrote:Hi jordy, Kieran again

If you look at what your asking in program terms it is along the lines of

1. need to find the name of the main file e.g. My Video File.mkv
2. then based on its size
use that filename to move all files with that name and any.ext to the target folder

this is the type of task where recursion usually kicks in
your first rule, much as it is, just needs to look at *.mkv and "size" up the main file.name
then the more tricky bit passing that name to a second pass (=recursion)

to keep it simples you could consider 3 one line batch or command files called say movem-big.cmd movem-mid.cmd movem-tiny.cmd
each would at its simplest be one lines so movem-mid.cmd would be a line like
move %1.* "c:\mymid size movies"

where dropit action for mid range mkv files is OPEN WITH "C:\Portable Apps\DropIt\movem-mid.cmd" "%ParentDir%\%FileName%"

there are many ways to better that such as calling a second copy of dropit rather than have 3 "helpers"
but I hope this suggestion guides you to your solution

[EDIT]
without me testing I think the best answer may be to tell dropit the desired action is along the lines of
MOVE "%ParentDir%\%FileName%*" "c:\mymid size movies"
or
MOVE "%ParentDir%\%FileName%*" "C:\Destination\%SubDir%"
to force a new subdirectory

Kieran
Hey Kieran, thanks for responding yet again :) Unfortunately for me I don't have the necessary ingrained knowledge to do this sort of stuff without assistance, BUT, having been pointed in the right direction, I can generally work it out from there. I have set up rules for the Large and Mid size files using the "Open With" rule running a .cmd file - a simple text file with a .cmd ext - correct? I'm assuming that the smaller files & their subtitle files will all be sent to the correct folder anyway, as they do now.

Is %ParentDir% necessary? I would have thought that DropIt already knows where they are as it has already "loaded" the video file for action... on second thoughts DropIt will have already ignored the subtitle files as being too small so maybe I do need to re-acquaint them...

Once again, many thanks for your help
Cheers
jordy

KJD
Posts: 28
Joined: Fri Apr 24, 2015 6:19 pm

Re: DropIt

#1378 Post by KJD »

jordy

Is %ParentDir% necessary?

the idea is that dropit either uses the known location of any files with same name e.g. "%ParentDir%\%FileName%*" for action with each and any filename found as a group = parent path\basic name without extension

or passes that info to an external command which would expect "%ParentDir%\%FileName%.*"

NOTE the subtle difference in that internally dropit for all penguin.any files expects penguin*
whereas DOS/Windows externally expects penguin.* (with a dot)

the other wrinkle is that dropit does not always need " around filename paths with spaces but DOS/Windows must get those double quotes in the right position so during experimentation

it can help to have in each command file a second and third line
echo %1
pause
this allows you to see if the correct names are being passed to the external move command so if you expected

c:\ me.thinks\penguins are not just for Christmas.*
press any key...

and get either
c:\me
or
c:\ me.thinks\penguins
press any key...

then you can try adding /subtracting double quotes accordingly

upshot is dropit commands need to be adjusted for either internal or external use

calling [Move] blah blah internally
or externally as [Open With] MOVE blah blah
do NOT use the same syntax

jordy1955
Posts: 13
Joined: Fri Feb 21, 2014 12:42 am

Re: DropIt

#1379 Post by jordy1955 »

KJD wrote:jordy

Is %ParentDir% necessary?

the idea is that dropit either uses the known location of any files with same name e.g. "%ParentDir%\%FileName%*" for action with each and any filename found as a group = parent path\basic name without extension

or passes that info to an external command which would expect "%ParentDir%\%FileName%.*"

NOTE the subtle difference in that internally dropit for all penguin.any files expects penguin*
whereas DOS/Windows externally expects penguin.* (with a dot)

the other wrinkle is that dropit does not always need " around filename paths with spaces but DOS/Windows must get those double quotes in the right position so during experimentation

it can help to have in each command file a second and third line
echo %1
pause
this allows you to see if the correct names are being passed to the external move command so if you expected

c:\ me.thinks\penguins are not just for Christmas.*
press any key...

and get either
c:\me
or
c:\ me.thinks\penguins
press any key...

then you can try adding /subtracting double quotes accordingly

upshot is dropit commands need to be adjusted for either internal or external use

calling [Move] blah blah internally
or externally as [Open With] MOVE blah blah
do NOT use the same syntax
Kieran, All good now. I have discovered that I need to read the information provided to me in detail and achieve understanding before trying to put it into practice. I spent some frustrating time trying to get it to work properly before I had a serious read of your instructions, after which I finally got it to work. I couldn't get DropIt to do it by itself so ended up with the .cmd files. Your note about using Echo and Pause, was a godsend :)

Thanks Again.

jordy

KJD
Posts: 28
Joined: Fri Apr 24, 2015 6:19 pm

Re: DropIt

#1380 Post by KJD »

OK
now you understand the structure of the external call you should be able to apply that to an internal rule

so if you mix the core of the cmd and past it in the dropit actions field you should be able to dispense with those helper.cmd s

for the quoted bits below KEEP whatever dropit syntax your are currently passing to the working external cmd

try [openwith] MOVE "whatever match works".* "target structure that works"
or try [openwith] MOVE "whatever match works.*" "target structure that works"

hope that helps

Post Reply