Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 341
  • Last Modified:

How to create a batch file that will rename a file when it reaches a certain size?

I'd like to know how to create a batch file that will rename a particular file to the current date once it reaches a certain size limit.  For example, "logfile.log" reaches 50MB today, so it gets renamed to 10-2-08.log instead.

So far I've been working with the attached script that I found somewhere else, but every time I run it I get this message:
"No parameter given, or file does not exist, or file size is less than 50 MB" (Obviously that's the message I gave it, but why is it not working?)

Thanks to anyone who can help.



@echo off
if "%*"=="" goto Error
if not exist "%*" goto Error
 
set limit=75000
for /F %%a in ('echo %*') do if %%~za LSS %limit% goto error
for /F "tokens=2" %%a in ('echo %date%') do set MyDate=%%a
ren logfile.log "batch-%MyDate:/=%.*
goto :eof
 
:Error
echo.
echo No parameter given, or file does not exist,
echo or file size is less than 75 MBytes.

Open in new window

0
NJDfan1711
Asked:
NJDfan1711
1 Solution
 
sirbountyCommented:
are you calling the batch file with the filename as an argument?

filename.bat c:\logfile.log

??
0
 
ShmoidCommented:
The code is fine except for the size limit (see below)

Aside from that, there are three checks performed:
1. Did you specify the filename when invoking the batch file, if not goto error.
2. If you did specify the filename, does that filename exist, if not goto error.
3. If you specified the filename and it exists, is it larger than 75000, if not goto error.
So, if you didn't specifiy the name OR the filename does not exist OR the file is smaller than 75000 it will print the error statement.

Also, the limit in your batch file is in bytes and will rename the file if it is larger than 75K you need to change it to 75000000 (6 zeros not 3)
0
 
NJDfan1711Author Commented:
Believe it or not, I was not doing that.  So simple... thanks for helping out a newbie!
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now