• 0

batch file to move-compress-delet3 files


Question

Hello,

I am trying to write a batch script that will run automatically daily to do the following.

1. Move files older than 2 days to from the main directory(Jason) to archive directory.

2. Zip files in the archive directory that are older than 1 week and delete files from this directory

that are older than 6 months.

3. I want to run this script from a different directory(not the directory that has the files).

I wrote the following script but its not correctly working. Can you please help.

REM move files older than 2 days to a archive directory

robocopy D:\Agentrics\integration\incoming\Jason D:\Agentrics\integration\incoming\Jason\archive /MOV

/MINAGE:2

Question: How can i change the command below to zip files older than 1 week. Also i want to put this

command in a batch file that will run from a different location? Is it possible that the zipped files

can have the same creation date and time as the original files?

REM zip all files in the backup directory

FOR %%A IN (*.TXT*, *.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r "%%~nA.zip" "%%A"

FOR %%A IN (*.TXT,*.cpi) DO DEL "D:\Agentrics\integration\incoming\Jason\archive\.cpi*" "%%A"

REM Delete all files in the backup directory that are older than 6 months

forfiles /p D:\Agentrics\integration\incoming\Jason\archive /s /m *.* /d -500 /c "cmd /c del /q @path"

Kind Regards,

Jason

9 answers to this question

Recommended Posts

  • 0

How can i change this script so that it only compresses the files that are older than 7 days.

FOR %%A IN (D:\Agentrics\integration\incoming\Mansoor\backup\*.txt*, D:\Agentrics\integration\incoming\Mansoor\backup\*.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r D:\Agentrics\integration\incoming\Mansoor\backup\"%%~nA.zip" "%%A"

FOR %%A IN (D:\Agentrics\integration\incoming\Mansoor\backup\*.TXT,D:\Agentrics\integration\incoming\Mansoor\backup\*.cpi) DO DEL "D:\Agentrics\integration\incoming\Mansoor\backup\.cpi*" "%%A"

Regards,

Jason

  • 0

Although its not exactly what you're looking for, this article describes the creation a DIY backup system. Since it discusses many of the issues and their possible solutions in-depth, it might help. Good luck.

  • 0

You could let RAR handle that using -to7d (meaning exactly what you want - time older than 7 days) switch. If no file(s) being processed qualify, no archive is created (and exit code 10 is returned, should you want to debug with %errorlevel%).

As for the whole backup system - surely there must be a better way.

  • 0

Thank you guys for your help. Howerver I have a question for Phouchg. You said that i can use the -to7d option in my command. I tried this option but getting errors. Can you please take a look at the command below, i added -to7d in this command.

FOR %%A IN (D:\Agentrics\integration\incoming\Mansoor\backup\*.txt*, D:\Agentrics\integration\incoming\Mansoor\backup\*.cpi*) DO -to7d "C:\Program Files\WinRAR\WinRAR.exe" a -r D:\Agentrics\integration\incoming\Mansoor\backup\"%%~nA.zip" "%%A"

kind Regards,

Jason

  • 0

looks like to me, you should include the a and -r functions in quotes too...so it would be "C:\Program Files\WinRAR\Winrar.exe a -r"....but I could be wrong....I'm a little rusty.

  • 0

It's a switch for WinRAR, not for CMD ;)

FOR %%A IN (D:\Agentrics\integration\incoming\Mansoor\backup\*.txt*, D:\Agentrics\integration\incoming\Mansoor\backup\*.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r -to7d D:\Agentrics\integration\incoming\Mansoor\backup\"%%~nA.zip" "%%A"

See WinRAR.chm help file in your C:\Program Files\WinRAR\ folder. Command line syntax is explained in detail. There's overwhelming amount of stuff, mostly useful.

Though I don't think either CMD or RAR can change creation time to an arbitrary value (-tl switch preserves modification time only). Powershell might.

  • 0

Thanks phouch for sharing your knowledge. I looked at WinRAR.chm help and it really helped. Also I added -to7d and worked just fine.I have one more question. Is it possible to create the zip files with the same file creation date as the origininal files (non-zipped files)? I want to delete the zipped files that are older than 6 months from the archieve directory but after those files are zipped they show the current date and time. For example if i zip a file that was created 6 months ago i want the zipped file creation date date also be six months? Is it possible to do that?

Regards,

Jason

  • 0

Thanks phouch for sharing your knowledge. I looked at WinRAR.chm help and it really helped. Also I added -to7d and worked just fine.I have one more question. Is it possible to create the zip files with the same file creation date as the origininal files (non-zipped files)? I want to delete the zipped files that are older than 6 months from the archieve directory but after those files are zipped they show the current date and time. For example if i zip a file that was created 6 months ago i want the zipped file creation date date also be six months? Is it possible to do that?

Regards,

Jason

1. Surely you should be deleting the files before compressing them - why go to the effort of compressing them just to delete them?

2. You can alter file creation dates - it's a bit messy and not-advised, especially on compressed files (zip,rar,etc) as it may cause corruption.

3. You could always create the compressed file with the original date in the filename (myfile01.txt -> 20120328_myfile01.rar).

  • 0

Here is my script. Can someone answer my two questions please?

I have a batch script that does the following @ECHO OFF

REM move files older than 2 days from the incoming directory to the incoming archive directory robocopy D:\Agentrics\integration\download D:\Agentrics\integration\download\archive /MOV /MINAGE:2

REM Zip files in the Archieve directory that are older than one week FOR %%A IN (D:\Agentrics\integration\download\archive*.txt*, D:\Agentrics\integration\download\archive*.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r -to7d D:\Agentrics\integration\download\archive\"%%~nA.zip" "%%A"

REM Delete Original files after they are zipped forfiles /p D:\Agentrics\integration\download\archive /s /m .txt /d -7 /c "cmd /c del /q @path" forfiles /p D:\Agentrics\integration\download\archive /s /m .cpi /d -7 /c "cmd /c del /q @path"

REM Delete files that are older than 6 months from the archive directory forfiles /p D:\Agentrics\integration\download\archive /s /m .zip /d -180 /c "cmd /c del /q @path" pause

Question 1: When i run the script i get WinRAR diagnostic messages for some files. For example if there are files in the incoming directory that are not older than two days i get this message."WinRAR Diagnostic messages: No File To Add". Because of this message the scripts stops until i click on the close button of the dialogue box. I am using the free version of WinRAR and its not expired

Question 2: I have two seprate command in the script above. One is for zipping the files older than a week and the other one is deleting the original files after they are zipped. How can i link those two commands so that if some reason the files did not get zipped they should also not get deleted. Or is is there a command to break the script if the files did not get zipped? I just want to zipp the files first and then delete the original ones.

Thanks,

Jason

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Well, it's good to know that they have found a workaround to a problem that they helped create, I guess...
    • Meta is reusing old DDR4 RAM in its servers instead of buying new hardware by Ivan Jenic Image: Meta The global hardware shortage isn’t exactly news, as the entire world has been struggling with rising component prices for quite some time now. And while big companies certainly aren’t as affected as the average consumer, even they aren’t opposed to the idea of saving a few (million) bucks. Meta appears to have found a way to spend less on new hardware while also putting its outdated infrastructure to use, essentially killing two birds with one stone. The company has built a custom chip that lets it reuse memory from retired servers rather than buying new hardware. The chip is called Vistara and allows for connecting old DDR4 RAM from obsolete servers into new servers that rely on DDR5. The problem Vistara solves goes back to a basic mismatch in how long hardware lasts. Meta replaces its servers every three to five years, but the memory modules inside them are good for seven to ten. When a server gets decommissioned, perfectly usable DDR4 RAM goes with it. Meta is presenting the new method at today’s ISCA symposium, but The Register has got hold of a paper that explains how Vistara works. It's a custom ASIC that bridges DDR4 memory to newer processors via aCXL 2.0/1.1 interface over PCIe Gen5 x16. Meta pulls DDR4 sticks from old machines and installs them in dedicated units it calls MemServers, each of which pairs 768GB of DDR5 with 256GB of recovered DDR4. The operating system sees the DDR4 as an additional memory node and draws from it when the primary DDR5 is running low. Off-the-shelf CXL hardware couldn't do this, so Meta built its own. Existing interfaces bundle their own memory with the controller, which makes reusing old RAM sticks impossible. But Vistara separates the controller from the memory entirely, so Meta can plug in whatever DDR4 sticks it has on hand. Meta plans to deploy the new architecture in hyperscale infrastructure with millions of servers, which should mean that Meta’s AI datacenters will now be more efficient. The company is investing heavily in AI infrastructure, especially with its new AI model, Muse Spark, now widely available. All of this doesn't mean that Meta will exclusively rely on "recycled" RAM, but the company is still looking at considerable savings at scale.
    • Save up to 87% on ChatPlayground AI lifetime subscriptions by Steven Parker Today's highlighted deal comes via our Apps + Software section of the Neowin Deals store, where for only a limited time, you can save up to 87% on ChatPlayground AI: lifetime subscriptions. ChatPlayground AI puts the world’s top AI models in one powerful interface, letting you enter a single prompt and instantly compare outputs from multiple models to choose the perfect response for your needs. Boost productivity and creativity with access to the latest AI giants like GPT-4o, Claude Sonnet 4, Gemini 1.5 Flash, DeepSeek V3, and dozens more — all in one window. Whether you’re chatting, coding, generating images, or refining prompts, ChatPlayground AI equips you with advanced tools like prompt engineering, image/PDF chat, saved conversations, and AI image creation, plus priority support to keep your workflow seamless. Access the world’s best AI models Side-by-Side Comparisons: Enter one prompt & instantly view results from multiple AI models to find the best output for your needs 40+ AI Models: Includes GPT-4o, Claude Sonnet 4, Gemini 1.5 Flash, DeepSeek V3, Llama, Perplexity, and many more Multi-Function Platform: Access AI for chat, image generation & coding all within a single interface Web Browser Extension: Offers a Chrome extension to seamlessly integrate the platform into your browsing workflow Boost productivity with powerful features ChatPlayground Interface: Designed for seamless AI model comparison in one window Prompt Engineering: Refine & optimize your prompts for better, more accurate responses Chat with Images & PDFs: Upload visuals and documents to get context-aware answers Saved Chat History: Keep track of past conversations for reference & ongoing projects AI Image Generation: Create high-quality visuals powered by top AI image models Priority Customer Support: Get faster assistance whenever you need it What you'll get with the Unlimited Plan Includes unlimited messages/month Built for prompt engineers, startups, and teams who run experiments nonstop Includes priority access to new features and future models Good to know Length of access: lifetime Redemption deadline: redeem your code within 30 days of purchase Access options: Desktop Max number of device(s): Unlimited Available to both NEW & Existing users Updates included A lifetime subscription to ChatPlayground AI (Unlimited Plan) normally costs $619, but you can pick it up for just $79 for a limited time - that represents a saving of $530 (87% off). Click the link below for more details, always check terms and specifications before making a purchase. Get this ChatPlayground AI (Unlimited) for $79 (was $619) There are also two other discounted plans to choose from. Although priced in U.S. dollars, this deal is available for digital purchase worldwide. Support queries If you have queries or need support for any of the Neowin Deals, please use the contact form here. Neowin Deals are managed and sold by StackCommerce who represent Neowin on an affiliate basis. Why we post these deals We post these because we earn commission on each sale so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. So for those that keep moaning and complaining, be thankful we're still online for you to even do that. Other ways to support Neowin Whitelist Neowin by not blocking our ads Create a free member account to see fewer ads Make a donation to support our day to day running costs Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: Neowin benefits from revenue of each sale made through our branded deals site powered by StackCommerce.
    • I like Tidal, but it still does not control devices from the mobile/app and still no surround support. And yeah re: above comment I still get a lot of network errors and I am on a 4/4 Gbit Fiber connection.
  • Recent Achievements

    • Reacting Well
      NovaEdgeX earned a badge
      Reacting Well
    • Week One Done
      NovaEdgeX earned a badge
      Week One Done
    • One Year In
      BA the Curmudgeon earned a badge
      One Year In
    • Conversation Starter
      rosiecharles earned a badge
      Conversation Starter
    • First Post
      KMilenkoski1202 earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      539
    2. 2
      +Edouard
      266
    3. 3
      PsYcHoKiLLa
      151
    4. 4
      Steven P.
      98
    5. 5
      macoman
      66
  • Tell a friend

    Love Neowin? Tell a friend!