Solved

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

Posted on 2008-10-02
3
320 Views
Last Modified: 2010-05-18
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
Comment
Question by:NJDfan1711
3 Comments
 
LVL 67

Accepted Solution

by:
sirbounty earned 125 total points
ID: 22627632
are you calling the batch file with the filename as an argument?

filename.bat c:\logfile.log

??
0
 
LVL 8

Expert Comment

by:Shmoid
ID: 22627861
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
 
LVL 3

Author Closing Comment

by:NJDfan1711
ID: 31502522
Believe it or not, I was not doing that.  So simple... thanks for helping out a newbie!
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now