Moving directory with --include Excludes ALL

What is the problem you are having with rclone?

using --include is excluding all directories

I am trying to simply move directories containing words to another TD.

Run the command 'rclone version' and share the full output of the command.

rclone v1.58.0

  • os/version: Microsoft Windows 10 Enterprise N 21H2 (64 bit)
  • os/kernel: 10.0.19044.1586 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.17.8
  • go/linking: dynamic
  • go/tags: cmount

Which cloud storage system are you using? (eg Google Drive)

Google Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)


These 2 Commands list Directory and Files

rclone move -vvvP --fast-list --dry-run td:/Mirror/ td01:/00/ --include '/.S01.*/' --no-traverse

DEBUG : Serial.Killer.Earth.S01.1080p.AMZN.WEBRip.DDP2.0.x264-squalor[rartv]/Serial.Killer.Earth.S01E03.Avalanche.Attack.1080p.WEB-DL.DDP2.0.H.264-squalor.mkv: Excluded from sync (and deletion)

rclone move -vvvP --fast-list --dry-run td:/Mirror/ td01:/00/ --include '/.S01.*/'

DEBUG : Ozark.S01.COMPLETE.1080p.ENGLISH-HINDI.NF.10bit.DDP.5.1.x265.[HashMiner]/Ozark.S01E10.the.Toll.1080p.NF.10bit.DDP.5.1.x265.[HashMiner].mkv: Excluded from sync (and deletion)

This command lists only the Directory which is perfect, but will not move it
rclone move -vvvP --fast-list --dry-run td:/Mirror/ td01:/00/ --include '/S01.*/' --no-traverse

DEBUG : Ozark.S01.COMPLETE.1080p.ENGLISH-HINDI.NF.10bit.DDP.5.1.x265.[HashMiner]: Excluded from sync (and deletion)


The rclone config contents with secrets removed.

[td]
type = drive
scope = drive
service_account_file = sa\106.json
team_drive = 
server_side_across_configs = true

[td01]
type = drive
scope = drive
service_account_file = sa\106.json
team_drive = 
server_side_across_configs = true

A log from the command with the -vv flag

Pasted Above under command each command

So I found the solution, finally!

For moving folders based on text inside it you need to start the --includes like this

/*MyWord
end it with **/

so

rclone move -vvvP --fast-list --dry-run td:/Mirror/ td01:/00/ --include '/*.S01.**/' --no-traverse

This will include files with the word in too. To be more precise you want

/*MyWord*/**

Which means in English. Find any directories in the root with MyWord in and transfer those and anything under them.

If you wanted directories anywhere in the file system you'd use

**/*MyWord*/**

Thanks I will try that, though the line above did what I wanted to, but will still try yours and see the difference.

a little off topic, but same idea.

Say I wanted to find directories containing a date format, or even a date format plus a word is this possible?

Example would be finding folders with this in it's name

22.01.12
2022.01.12

or

22.01.12 + MyWord

I am not good with regex at all! So I am very curious about this type of search.

Is there a character to use for Number only inside a search, like say

##.##.## etc

You'd need to use the regex format for this. so something like

/*{{\d+\.\d+\.d}}*MyWord/**

the {{\d+\.\d+\.d}} is a regular expression \d+\.\d+\.d it means some digits, a dot, some digits, a dot, some digits.

Use rclone ls with the includes to test to see if they are correct or not.

Awesome, thanks will play with it a bit

i use this to create a go lang regex, tho still need to tweak it to work with rclone filter syntax.
https://regoio.herokuapp.com/

and from rclone
https://filterdemo.rclone.org/

This is great help!

For me 90% of my filtering issues have been with directories, which I "think" I have sorted out. Will know for sure tomorrow running a ton of tests then will do live to see if it does what I expect.

If so will post the command lines for others, since sometimes it can be hard figuring out the right syntax when your not a coder!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.