Change Facebook (and others) photo saving folder I'd like to ask a question about the facebook app (but it is not only one that does this).
Currently, when I save any photo from facebook, it saves into /DCIM/Facebook.

Now I would not normally care where the photos are stored as long as Gallery app sorts them right, but the fact it goes into DCIM folder makes it behave wrongly with the Google Photos app. 

Google Photos treat all those Facebook saved posts as "Camera photos" and tries to synchronize them to server, which I obviously do not want (I store photo albums on GPh, I do not need meme pics among them) and I cannot refine the synchronize options any more (only "Camera" is chosen to sync).

Is there a way to exclude those downloaded pictures from sync? Or make Facebook save its downloads to, say, /Pictures/Facebook ?

Same as above also happens in DCIM/Screenshots while clipping parts of screen.

Phone is Samsung Galaxy Note 4, Android 6.0.1 

Thanks in advance
I had EXACTLY the same problem. I couldn't find a solution else where. The only solution was to use a .nomedia file in the /sdcard/DCIM/Facebook directory and moving the *.jpgs to another folder. I had made a Tasker task referring to a reddit post in /r/tasker. Here is the description and the XML for importing it. You have to create the %destpart and add a .nomedia in %sourcepath for it to work. You can run this task in a profile as an exit task for Facebook and as an entry task for other messenger apps like Telegram/Whatsapp, etc. so you get your memes right!

The Meme Mover (3)
A1: Variable Set [ Name:%sourcepath To:/sdcard/DCIM/Facebook/ Recurse Variables:Off Do Maths:Off Append:Off ] 
A2: Variable Set [ Name:%destpath To:/sdcard/Pictures/Facebook/ Recurse Variables:Off Do Maths:Off Append:Off ] 
A3: Variable Set [ Name:%suffix To:(1) Recurse Variables:Off Do Maths:Off Append:Off ] 
A4: Variable Set [ Name:%counter To:0 Recurse Variables:Off Do Maths:On Append:Off ] 
A5: List Files [ Dir:%sourcepath Match:*.jpg/*.png/*.jpeg/*.gif/*.3gp Include Hidden Files:Off Use Root:Off Sort Select:Alphabetic Variable:%filestomove ] 
A6: For [ Variable:%thispathfile Items:%filestomove() ] 
A7: Variable Split [ Name:%thispathfile Splitter:/ Delete Base:Off ] 
A8: Variable Set [ Name:%len To:%thispathfile(#) Recurse Variables:Off Do Maths:Off Append:Off ] 
A9: Variable Set [ Name:%filename To:%thispathfile(%len) Recurse Variables:Off Do Maths:Off Append:Off ] 
A10: Variable Clear [ Name:%exists Pattern Matching:Off ] 
A11: Test File [ Type:Type Data:%destpath%filename Store Result In:%exists Use Root:Off Continue Task After Error:On ] 
A12: If [ %exists !Set ]
A13: Move [ From:%thispathfile To:%destpath%filename Use Root:Off ] 
A14: Scan Card [ File:%destpath%filename ] 
A15: Else 
A16: Variable Split [ Name:%filename Splitter:. Delete Base:Off ] 
A17: Variable Set [ Name:%filename1 To:%filename1%suffix Recurse Variables:Off Do Maths:Off Append:Off ] 
A18: Variable Join [ Name:%filename Joiner:. Delete Parts:Off ] 
A19: Move [ From:%thispathfile To:%destpath%filename Use Root:Off ] 
A20: Scan Card [ File:%destpath%filename ] 
A21: End If 
A22: Variable Add [ Name:%counter Value:1 Wrap Around:0 ] 
A23: End For 
A24: If [ %counter eq 0 ]
A25: [X] Flash [ Text:No memes? Sad. Long:On ] 
A26: Else If [ %counter eq 1 ]
A27: Flash [ Text:%counter meme moved! Long:On ] 
A28: Else 
A29: Flash [ Text:%counter memes moved! Long:On ] 


 Remember to have .nomedia in %sourcepath 

Here's the XML for direct import:

&lt;TaskerData sr="" dvi="1" tv="4.9u4"&gt;
&lt;Task sr="task3"&gt;
    &lt;cdate&gt;1489093858387&lt;/cdate&gt;
    &lt;edate&gt;1489219027762&lt;/edate&gt;
    &lt;id&gt;3&lt;/id&gt;
    &lt;nme&gt;The Meme Mover&lt;/nme&gt;
    &lt;pri&gt;100&lt;/pri&gt;
    &lt;Kid sr="Kid"&gt;
        &lt;launchID&gt;3&lt;/launchID&gt;
        &lt;pkg&gt;me.regalstreak.movefb&lt;/pkg&gt;
        &lt;vnme&gt;1.0&lt;/vnme&gt;
    &lt;/Kid&gt;
    &lt;Action sr="act0" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%sourcepath&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;/sdcard/DCIM/Facebook/&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act1" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%destpath&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;/sdcard/Pictures/Facebook/&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act10" ve="7"&gt;
        &lt;code&gt;342&lt;/code&gt;
        &lt;se&gt;false&lt;/se&gt;
        &lt;Int sr="arg0" val="4"/&gt;
        &lt;Str sr="arg1" ve="3"&gt;%destpath%filename&lt;/Str&gt;
        &lt;Str sr="arg2" ve="3"&gt;%exists&lt;/Str&gt;
        &lt;Int sr="arg3" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act11" ve="7"&gt;
        &lt;code&gt;37&lt;/code&gt;
        &lt;ConditionList sr="if"&gt;
            &lt;Condition sr="c0" ve="3"&gt;
                &lt;lhs&gt;%exists&lt;/lhs&gt;
                &lt;op&gt;13&lt;/op&gt;
                &lt;rhs&gt;&lt;/rhs&gt;
            &lt;/Condition&gt;
        &lt;/ConditionList&gt;
    &lt;/Action&gt;
    &lt;Action sr="act12" ve="7"&gt;
        &lt;code&gt;400&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%destpath%filename&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act13" ve="7"&gt;
        &lt;code&gt;459&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%destpath%filename&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act14" ve="7"&gt;
        &lt;code&gt;43&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act15" ve="7"&gt;
        &lt;code&gt;590&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;.&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act16" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename1&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%filename1%suffix&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act17" ve="7"&gt;
        &lt;code&gt;592&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;.&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act18" ve="7"&gt;
        &lt;code&gt;400&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%destpath%filename&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act19" ve="7"&gt;
        &lt;code&gt;459&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%destpath%filename&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act2" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%suffix&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;(1)&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act20" ve="7"&gt;
        &lt;code&gt;38&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act21" ve="7"&gt;
        &lt;code&gt;888&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act22" ve="7"&gt;
        &lt;code&gt;40&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act23" ve="7"&gt;
        &lt;code&gt;37&lt;/code&gt;
        &lt;ConditionList sr="if"&gt;
            &lt;Condition sr="c0" ve="3"&gt;
                &lt;lhs&gt;%counter&lt;/lhs&gt;
                &lt;op&gt;0&lt;/op&gt;
                &lt;rhs&gt;0&lt;/rhs&gt;
            &lt;/Condition&gt;
        &lt;/ConditionList&gt;
    &lt;/Action&gt;
    &lt;Action sr="act24" ve="7"&gt;
        &lt;code&gt;548&lt;/code&gt;
        &lt;on&gt;false&lt;/on&gt;
        &lt;Str sr="arg0" ve="3"&gt;No memes? Sad.&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act25" ve="7"&gt;
        &lt;code&gt;43&lt;/code&gt;
        &lt;ConditionList sr="if"&gt;
            &lt;Condition sr="c0" ve="3"&gt;
                &lt;lhs&gt;%counter&lt;/lhs&gt;
                &lt;op&gt;0&lt;/op&gt;
                &lt;rhs&gt;1&lt;/rhs&gt;
            &lt;/Condition&gt;
        &lt;/ConditionList&gt;
    &lt;/Action&gt;
    &lt;Action sr="act26" ve="7"&gt;
        &lt;code&gt;548&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter meme moved!&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act27" ve="7"&gt;
        &lt;code&gt;43&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act28" ve="7"&gt;
        &lt;code&gt;548&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter memes moved!&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act3" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;0&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="1"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act4" ve="7"&gt;
        &lt;code&gt;412&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%sourcepath&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;*.jpg/*.png/*.jpeg/*.gif/*.3gp&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
        &lt;Str sr="arg5" ve="3"&gt;%filestomove&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act5" ve="7"&gt;
        &lt;code&gt;39&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%filestomove()&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act6" ve="7"&gt;
        &lt;code&gt;590&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;/&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act7" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%len&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%thispathfile(#)&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act8" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%thispathfile(%len)&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act9" ve="7"&gt;
        &lt;code&gt;549&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%exists&lt;/Str&gt;
        &lt;Int sr="arg1" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Img sr="icn" ve="2"&gt;
        &lt;cls&gt;com.facebook.katana.LoginActivity&lt;/cls&gt;
        &lt;pkg&gt;com.facebook.katana&lt;/pkg&gt;
    &lt;/Img&gt;
&lt;/Task&gt;&lt;/TaskerData&gt;


Copy the code above and save the file as The Meme Mover.tsk.xml in /sdcard/Tasker/tasks. Then go to Tasker, long press on Tasks, and import this.

Pro Tip: Enable A25 just for testing if you want to.

Edit: Code corrected and updated. (1 memes moved was triggering my OCD.)

Edit 2: Had some problems, corrected again.