cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
rgireyev
Frequent Visitor

Synching files from Hard Drive to Google Drive or OneDrive

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

2 ACCEPTED SOLUTIONS

Accepted Solutions
m4ngo5
Advocate I
Advocate I

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_an...

 

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-615391c...

 

 

 

View solution in original post

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

View solution in original post

7 REPLIES 7
m4ngo5
Advocate I
Advocate I

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_an...

 

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-615391c...

 

 

 

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

 

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

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

 

GabrielStJohn
Community Champion
Community Champion

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

- Gabriel
Community Manager
Power Automate | Power Virtual Agents
Super User Program Manager



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

 

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

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (480)