Skip to main content

Notifications

Community site session details
Power Automate - Building Flows
Answered

Synching files from Hard Drive to Google Drive or OneDrive

Like (0) ShareShare
ReportReport
Posted on 30 Jul 2018 16:23:54 by 25

Hello!

 

I'm working on my first flow and decided to create something that I can actually use. I'm a Java developer and would like to synch up my source files as they are modified to Google Drive (or OneDrive for Business if Google Drive is not as well supported as OneDrive).

 

Some background I have several projects that I work on at different points in time. Something like 20. Each project is in its own directory and has its own source file folder. Java source files have a ".java" extension.

 

Before I get into specific questions I have a few general ones.
1. When a file on a hard drive is updated or created does that trigger the flow to start running?
2. Or does the flow only run at certain intervals and I have to go through all of the files that I'm interested in and see if they were updated or created?
3. Would this particular Workflow be easier to code and execute on OneDrive for Business or is using Google Drive the same?

 

The workflow would be something like this.
1. Using the "File System - When a file is added or modified" Detect when a file is modified (or created)
2. Condition If the file has a ".java" extension Continue, Else End.
3. Condition If File was Created in the Windows File System, copy file to the Google Drive. The tricky thing is to place it in the right directory. Meaning if I have the following directory path on my hard drive C:\Projects\ProjectX\src\Application.java. I would like it to go to the same directory path on Google drive not counting the root. Something like https://drive.google.com/drive/my-drive/Projects\ProjectX\src\Application.java. So somehow the path that the file resides in, needs to be discovered. The same logic needs to happen for the Update logic coming up below.
4. Else if the file was not just created. Condition If the File was just Updated, then copy/synch this file to Google Drive (or OneDrive for business if it is easier). Obviously I need to be able to Overwrite a file that is already there for this Condition.

 

I think I need help with steps/conditions 3 and 4.
1. Since the File System appears to be a multitrigger how do I determine which one it is. Create or Update?

Capture.PNG

 

 

 

 

TIA
Rudy

  • rgireyev Profile Picture
    25 on 12 Aug 2018 at 15:11:53
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Here is what I came up with so far. I have not run it as yet, since I have further questions that I have not been able to find answers for.

    1. It seems very odd that the designers of Flow would give one trigger that is triggered by 2 distinct event (e.g. Create File and Update File) and then not give us a flag or something that would tell us which even caused the initial trigger.

    2. It seems like the Flow designer felt that it needed to add the "Apply to each" to my "Filter array" which seems like a double loop to me since

    3. One of the threads that m4ngo5 linked to had the "Condition 2" that used the expression "@empty(body('Filter_array'))" to see if the File name that triggered the Flow exists in the destination folder. Thereby deciding whether this is an Add or an Update. The flow had a lot trouble with this expression just saving it and it is unable to show it in the basic mode. Is anyone else familiar with it and/or have used it?

    4. My Create File 2 (as well as Update File 2) is trying to write the file into the same directory structure on Google Drive as it is on my Hard Drive the root notwothstanding of course. Am I on the right track?

    Thanks to everyone once again
    Rudy

     

    Part 1Part 1Part 2Part 2

  • rgireyev Profile Picture
    25 on 09 Aug 2018 at 16:50:20
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Sorry guys got sidetracked by another project. Returning to this today. It will take me a few days find the Controls for all of the steps and implement them once I do and it works I'll come back and try to post it here. But if I run into problems I'll ask them here.

     

    Thank you

    Rudy

     

  • GabrielStJohn Profile Picture
    on 08 Aug 2018 at 17:15:08
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Hello,  @rgireyev!

    Have you had an opportunity to apply @m4ngo5‘s recommendation to adapt your Flow? If yes, and you find that solution to be satisfactory, please go ahead and click “Accept as Solution” so that this thread will be marked for other users to easily identify!


    Thank you for being an active member of the Flow Community!

    -Gabriel
    Flow Community Manager

  • rgireyev Profile Picture
    25 on 31 Jul 2018 at 17:57:53
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Thank you. This is just the guidence I was looking for. I will give it a try and let you know what further questions I have. 🙂 

     

    Rudy

     

  • Verified answer
    m4ngo5 Profile Picture
    90 on 31 Jul 2018 at 17:19:07
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Hi Rudy,

     

    Well your Flow sounds quite ambitious, but I appreciate ambition.  I'll give your questions the best answers I can.

     

    Before I get into specific questions I have a few general ones.
    1. When a file on a hard drive is updated or created does that trigger the flow to start running?
    2. Or does the flow only run at certain intervals and I have to go through all of the files that I'm interested in and see if they were updated or created?
    3. Would this particular Workflow be easier to code and execute on OneDrive for Business or is using Google Drive the same?

     

    1. A Flow always starts with a trigger.  The flow in your screenshot is triggered when a file in a specific folder is added or modified.  Then your condition is evaluated.
    2. You can trigger a flow at intervals, using a trigger called "Shedule - Recurrence".  For your purposes, method 1 is probably the better option.

    3. For this particular flow, you can accomplish it with Google Drive.  For other solutions, OneDrive for Business does provide more flexibility.

     

    The workflow would be something like this.
    1. Using the "File System - When a file is added or modified" Detect when a file is modified (or created)
    2. Condition If the file has a ".java" extension Continue, Else End.
    3. Condition If File was Created in the Windows File System, copy file to the Google Drive. The tricky thing is to place it in the right directory. Meaning if I have the following directory path on my hard drive C:\Projects\ProjectX\src\Application.java. I would like it to go to the same directory path on Google drive not counting the root. Something like https://drive.google.com/drive/my-drive/Projects\ProjectX\src\Application.java. So somehow the path that the file resides in, needs to be discovered. The same logic needs to happen for the Update logic coming up below.

     

    4. Else if the file was not just created. Condition If the File was just Updated, then copy/synch this file to Google Drive (or OneDrive for business if it is easier). Obviously I need to be able to Overwrite a file that is already there for this Condition.

     

    I think I need help with steps/conditions 3 and 4.
    1. Since the File System appears to be a multitrigger how do I determine which one it is. Create or Update?

     

     

    1. Okay
    2. Okay
    3. Here is the basic idea of what I would do.

      1. The "When a file is added or modified" trigger returns "BlobMetadata" according to documentation (I didn't test).  Within BlobMetadata is the path of the file.  https://docs.microsoft.com/en-us/connectors/filesystem/
      2. Create a Google Drive "List files in folder" action.  Use an expression to remove unnecessary bits from the beginning/end of the folder path.
      3. Use a filter array to check if the modified file exists in the files listed from Google Drive.  
      4. Use a condition to update the file if it exists, or create the file if it does not exist.  

         1. My steps 3 & 4 take care of create or update in different branches of the condition.

     

    You might read through this thread for some inspiration: https://powerusers.microsoft.com/t5/Building-Flows/Comparing-File-Lists/td-p/64178

  • rgireyev Profile Picture
    25 on 31 Jul 2018 at 13:27:36
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Hello m4ngo5

     

    Thank you for the great info and taking the time to reply. I agree with you that there are probably better options out there to accomplish what I'm doing. However, my main goal with this project is to learn the tool and get my first Flow up and running. Basically see how things work and watch it in action to see how reliable it is and what other things I can learn from this experience. So from that perspective I would still like to continue with this project as I was aware of both tools that you mentioned and will certainly go with them in the end. 

     

    Thanks

    Rudy

     

  • Verified answer
    m4ngo5 Profile Picture
    90 on 31 Jul 2018 at 06:25:52
    Re: Synching files from Hard Drive to Google Drive or OneDrive

    Hi rgireyev,

     

    Welcome to the Power community! 

     

    Flow is an incredible tool, but I'm not sure you need it for this project.  OneDrive and Google Drive both have sync clients which can sync files within file structures.  I work mostly with OneDrive, and this is a Microsoft forum, so I'll speak primarily of OneDrive, but you can find information on Google Drive syncing here: https://support.google.com/drive/answer/2374987?visit_id=1-636686133360360858-3505266099&p=backup_and_sync_signin&rd=1

     

    From your OneDrive in Office 365, click sync at the top, and you will be prompted to sync OneDrive to your computer.  Move your java project folder structure into the OneDrive section in Windows Explorer.  Then any changes to made to these files or the file structure will sync automatically across OneDrive and all synced computers and devices.  

     

    OneDriveSync.jpg

     

    One of the great features of OneDrive is version history, which maintains all previous versions of your files. 

     

    Your questions may be better posed on the OneDrive community support forums, but I am happy to answer any questions as well. https://techcommunity.microsoft.com/t5/OneDrive-for-Business/ct-p/OneDriveforBusiness

     

    Here is the OneDrive Sync Client Article page: https://support.office.com/en-us/article/sync-files-with-the-onedrive-sync-client-in-windows-615391c4-2bd3-4aae-a42a-858262e42a49

     

     

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

🌸 Community Spring Festival 2025 Challenge 🌸

WIN Power Platform Community Conference 2025 tickets!

Markus Franz – Community Spotlight

We are honored to recognize Markus Franz as our April 2025 Community…

Kudos to the March Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 146,518 Most Valuable Professional

#2
RandyHayes Profile Picture

RandyHayes 76,287 Super User 2024 Season 1

#3
Pstork1 Profile Picture

Pstork1 65,758 Most Valuable Professional

Leaderboard
Loading started