FinalFrontier Posted October 28, 2016 Report Share Posted October 28, 2016 I'm looking for a macro to help me organize files and folders on my desktop (D:\Desktop). Every file and folder that has a creation date older than 10 days would be placed in a folder called "Archive" (D:\Desktop\Archive). Within that folder, the macro would automatically group files into months based on their creation date. The folders would be named "YYYY-MM. The macro would monitor the desktop folder constantly and move files in real time or with a short delay, and temporarily skip a file that is currently being used and move it once available.This seems like something fairly common, so I was wondering if anyone has done anything similar? Can it be done with Macro Express? Quote Link to comment Share on other sites More sharing options...
terrypin Posted October 28, 2016 Report Share Posted October 28, 2016 The only aspect of your requirement that I think might be challenging stems from that word 'constantly'. I could see conflicts arising with the various background and housekeeping tasks of the OS. I'm curious why you'd need such a real time macro? How often do you edit the items in your Desktop folder? I'm also unsure how I'd get MX Pro to intelligently delay the processing of entries that are currently in use, without unwanted interference with priority OS/File Explorer processes. Terry, East Grinstead, UK Quote Link to comment Share on other sites More sharing options...
FinalFrontier Posted October 28, 2016 Author Report Share Posted October 28, 2016 The only aspect of your requirement that I think might be challenging stems from that word 'constantly'. I could see conflicts arising with the various background and housekeeping tasks of the OS. I'm curious why you'd need such a real time macro? How often do you edit the items in your Desktop folder? I'm also unsure how I'd get MX Pro to intelligently delay the processing of entries that are currently in use, without unwanted interference with priority OS/File Explorer processes. Terry, East Grinstead, UK Hi Terry, thanks for your reply. You may be right, but I don't see how consistent monitoring is a problem when it's only moving the files which are 10 days old. Knowing my routine, there is a very small chance that such file or folder would be accessed at that exact time. My workflow is very dynamic, so my desktop gets filled up quickly. Can you explain how you handle everything but the things you're not sure about? I've done several macros up until now, but nothing too complex. This one I'm really not sure how to do. Quote Link to comment Share on other sites More sharing options...
terrypin Posted October 28, 2016 Report Share Posted October 28, 2016 I'm away from home until next week, or I'd demonstrate. But start with the obvious steps - Open the \Desktop using the Open Folder command. - Read up on Repeat with Folder if you haven't used it before - For each file, simulate the steps you'd perform manually to --- Identify the 10 day old files. --- Move them to the required folder. Etc. (This is proving harder than I expected without my PC! I'm sure someone will step in and amplify.) Terry, East Grinstead, UK Quote Link to comment Share on other sites More sharing options...
Cory Posted October 28, 2016 Report Share Posted October 28, 2016 This can be done for sure. But I don't agree with Terry. He likes to use the Windows File Explorer interface to work with files and I like to process them invisibly in the background using the file manipulation commands. Look at the Repeat With Folder command to get started. Quote Link to comment Share on other sites More sharing options...
rberq Posted October 28, 2016 Report Share Posted October 28, 2016 I disagree with both Terry and Cory, but only because I'm difficult and hard to get along with. I have done this in the past by having the macro run a batch file containing a couple commands: cd\desktop path dir /N /O > c:\temp\dirlist.txt This produces a standard format directory list, with fixed columns for size, date, etc for each file. Then your macro can read back the directory list file (ASCII FILE BEGIN PROCESS or TEXT FILE BEGIN PROCESS), analyze each line for date and size and whatever, and write a second batch file (VARIABLE MODIFY STRING APPEND TO TEXT FILE) containing DOS "move" commands to move the files and folders wherever you want them. In each "move" command include the option to ignore errors, so the whole batch file won't abort for a single file-move problem. Finally, your macro can run the second batch file to actually move the files off the desktop. If a file or two is passed over when the second batch file runs (due to being in use or whatever) it should be picked up next time your cleanup process runs. Your cleanup macro can be scheduled to run at whatever frequency and interval you choose; or via a hotkey; or both. You might want to initially pop up a warning text box, so you know to stop typing while the cleanup process runs. That's one drawback of my method -- it doesn't happen invisibly in the background and your keyboard activity might interfere. Quote Link to comment Share on other sites More sharing options...
terrypin Posted October 28, 2016 Report Share Posted October 28, 2016 Neat! Not good to forget about the power of Olde Tyme batch files and DOS commands. Quote Link to comment Share on other sites More sharing options...
Cory Posted October 29, 2016 Report Share Posted October 29, 2016 Well OK then. I was trying to offer up a MEP solution, which can be done pretty easily IMHO, but if you want to start in with non-MEP solutions then I would write a PowerShell Script. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.