I want to create Batch file which runs from Task Scheduler
Requirements:
- less than 30 days old files should move from main folder to Archive folder.
- then the moved archive files should be deleted.
- it should store all the log entries.
I have scripted steps 1 & 2, (from web searches), but inserting log file command is quite difficult for me, as I have no knowledge on batch scripts.
Script for steps 1 & 2:
forfiles /p "D:\Test" /m *.* /s /d -30 /c "cmd /c move @file E:\Test1"
forfiles /p "E:\Test1" /c "cmd /c del @path"
Can someone please show me how I can create log files using the above 2 commands.
The log file should store all files name which it moved & deleted, date and time, and success or failed.
CodePudding user response:
It makes absolutely no sense to first move files from drive D: to drive E: which requires copying the data of each file, and then delete each file on drive E:. It is much faster to delete the files older than 29 days directly on drive D:.
The batch file below can be used for the file deletion task with logging success or error of each file deletion.
@echo off
if "%~1" == "" goto RunForFiles
del /A /F %1 2>nul
(if not exist %1 (echo 