CMD date prepend problem

B

bobby.gillette

Found this snippet of code from Matthias on another thread and am
trying to get it to prepend the date to an existing filename (that's
created via another CMD script).

Here's what I have (it renames but doesn't add any date information to
the filename):

======Code begins==========
::AppDate.cmd::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

@echo off & setlocal EnableExtensions DisableDelayedExpansion
Call :GetDate yy mm dd
set mydate=%yy%%mm%%dd%
for %%A in (Charleston_Last_logon.txt) do (
ren "%%~fA" "%mydate%%%~nxA"
ren "%%~fA" "%%~nA%mydate%%%~xA"
)
goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:GetDate yy mm dd
::
:: By: Ritchie Lawrence, 2002-06-15. Version 1.0
::
:: Func: Loads local system date components into args 1 to 3.
:: For NT4/2000/XP/2003.
::
:: Args: %1 var to receive year, 4 digits (by ref)
:: %2 var to receive month, 2 digits, 01 to 12 (by ref)
:: %3 Var to receive day of month, 2 digits, 01 to 31 (by ref)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

setlocal ENABLEEXTENSIONS
set t=2&if "%date%z" LSS "A" set t=1
for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo/^|date') do (
for /f "tokens=%t%-4 delims=.-/ " %%d in ('date/t') do (
set %%a=%%d&set %%b=%%e&set %%c=%%f))
endlocal&set %1=%yy%&set %2=%mm%&set %3=%dd%&goto :EOF
::EOF::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


==========End of code===========

What I'm trying to do is rename the file called
Charleston_Last_Logon.txt with the date prepended to it (so I can run
the file once a month and retain the previous month's results).

Any help would be greatly appreciated :)

Bobby
 
B

billious

Found this snippet of code from Matthias on another thread and am
trying to get it to prepend the date to an existing filename (that's
created via another CMD script).

Here's what I have (it renames but doesn't add any date information to
the filename):

======Code begins==========
::AppDate.cmd::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

@echo off & setlocal EnableExtensions DisableDelayedExpansion
Call :GetDate yy mm dd
set mydate=%yy%%mm%%dd%
for %%A in (Charleston_Last_logon.txt) do (
ren "%%~fA" "%mydate%%%~nxA"
ren "%%~fA" "%%~nA%mydate%%%~xA"
)
goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:GetDate yy mm dd
::
:: By: Ritchie Lawrence, 2002-06-15. Version 1.0
::
:: Func: Loads local system date components into args 1 to 3.
:: For NT4/2000/XP/2003.
::
:: Args: %1 var to receive year, 4 digits (by ref)
:: %2 var to receive month, 2 digits, 01 to 12 (by ref)
:: %3 Var to receive day of month, 2 digits, 01 to 31 (by ref)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

setlocal ENABLEEXTENSIONS
set t=2&if "%date%z" LSS "A" set t=1
for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo/^|date') do (
for /f "tokens=%t%-4 delims=.-/ " %%d in ('date/t') do (
set %%a=%%d&set %%b=%%e&set %%c=%%f))
endlocal&set %1=%yy%&set %2=%mm%&set %3=%dd%&goto :EOF
::EOF::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


==========End of code===========

What I'm trying to do is rename the file called
Charleston_Last_Logon.txt with the date prepended to it (so I can run
the file once a month and retain the previous month's results).

Any help would be greatly appreciated :)

Bobby

Works fine for me (XP/H)

* You have 2 "rename" lines -
ren "%%~fA" "%mydate%%%~nxA"
ren "%%~fA" "%%~nA%mydate%%%~xA"

Obviously only the first will be executed.

renamed "Charleston_Last_logon.txt" to "20061110Charleston_Last_logon.txt"
dutifully for me.

What do you mean by
"(it renames but doesn't add any date information to the filename)" ?

if the file is renamed, what is it renamed TO for you?
 
M

Matthias Tacke

Found this snippet of code from Matthias on another thread and am
trying to get it to prepend the date to an existing filename (that's
created via another CMD script).

Here's what I have (it renames but doesn't add any date information to
the filename): ....

What I'm trying to do is rename the file called
Charleston_Last_Logon.txt with the date prepended to it (so I can run
the file once a month and retain the previous month's results).

Any help would be greatly appreciated :)

Bobby
Hi Bobby,
instead of reposting you should have included a link to the original
posting:

http://groups.google.com/group/micr...43d93?lnk=st&q=&rnum=1&hl=de#0bcd9c8bf8c43d93

Later on in that thread it is mentioned to choose one of the ren
commands. Either prepending or appending the date.

::AppDate.cmd::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off & setlocal EnableExtensions DisableDelayedExpansion
Call :GetDate yy mm dd
set mydate=%yy%%mm%%dd%
for %%A in (Charleston_Last_logon.txt) do ren "%%~fA" "%mydate%%%~nxA"
goto :EOF
---snip---


Provided you have an english windows that should work.

HTH
Matthias
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Put date in a txt file. 3
cmd help 1
Batch Files 2
Re: Findstr problem within batch 5
Find a specified empty directory 8
batch file 4
Changing Date Values!!! (dd/mm/yy) =( 3
Yesterday' Date 5

Top