• 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
  On 04/03/2013 at 06:12, jmander said:

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

    • I wish one of the windows updates hadn't broken glass. Is there a workaround for that I'm not aware of?
    • OpenAI announces o3 Pro, its most intelligent reasoning model by Pradeep Viswanathan OpenAI today announced o3-pro, its flagship reasoning model that uses more compute to "think harder" and provide consistently better answers. This new model will be replacing o1-pro in ChatGPT since it consistently performs better in math, science, and coding. To help everyone make the most out of the model, o3-pro supports tool calling. So, based on the user prompt, the model can do a web search, analyze files, reason about visual inputs, use Python, personalize responses using memory, and more. This is a big improvement over o1-pro, which lacked access to tools. But the downside is that o3-pro will take more time to respond. OpenAI recommends users use o3-pro in cases where reliability matters more than speed. According to OpenAI's evaluations, users consistently preferred o3-pro's responses over o3 in key domains like science, education, programming, business, and writing help. o3-pro was also rated consistently higher for clarity, comprehensiveness, instruction-following, and accuracy. The new o3-pro model is available in ChatGPT's model picker for Pro and Team. ChatGPT's Enterprise and Edu users will get access to this latest model next week. For developers, the o3-pro model comes with a 200,000 context window and is priced at $20 per million input tokens and $80 per million output tokens. OpenAI recommends developers use background mode with o3-pro to prevent timeouts. And the model has a May 31, 2024 knowledge cutoff. The OpenAI team also noted the following as the current limitations of the o3-pro model: At the moment, temporary chats are disabled for o3-pro as we resolve a technical issue. Image generation is not supported within o3-pro—please use GPT-4o, OpenAI o3, or OpenAI o4-mini to generate images. Canvas is also currently not supported within o3-pro. As OpenAI continues to refine its models, the balance between speed and reliability will likely remain a key consideration for users choosing the right tool for their needs.
    • What annoys me is updates take forever to install on my Pixel 9 Pro XL, it was never so slow on my Samsung devices.
  • Recent Achievements

    • Reacting Well
      rshit earned a badge
      Reacting Well
    • Reacting Well
      Alan- earned a badge
      Reacting Well
    • Week One Done
      IAMFLUXX earned a badge
      Week One Done
    • One Month Later
      Æhund earned a badge
      One Month Later
    • One Month Later
      CoolRaoul earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      542
    2. 2
      ATLien_0
      269
    3. 3
      +FloatingFatMan
      209
    4. 4
      +Edouard
      203
    5. 5
      snowy owl
      140
  • Tell a friend

    Love Neowin? Tell a friend!