1.

Solve : Next sequence variable in DOS?

Answer»

Need to rename data FILE DATA256 after processing data.

Naming convention is BATCHxxx-YYYYMMDD-HHMM.
xxx is a sequential number incremented PRIOR to rename.

Is this possible WITHIN .bat?

Thanks

lswain
C:\test>type iswain.bat
Code: [Select]@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-3 delims=/" %%i in ("%DATE%") do (
set M1=%%i
set M1=!M1:~-2!
echo M1=!M1!
set DD=%%j
echo DD=!DD!
set YYYY=%%k
echo YYYY=!YYYY!
)
set HH=%TIME:~0,2%
set MM=%TIME:~3,2%
echo HH=%HH%
echo MM=%MM%
pause
set /p seq=<seq.txt
set /a seq=%seq% + 1
echo %seq% > seq.txt
type seq.txt
echo date = %DATE%

copy DATA256.txt BATCH%seq%-%YYYY%%M1%%DD%-%HH%%MM%.txt
dir BATCH*.txt
rem del DATA256.txt
rem del BATCH*.txt
Output:

C:\test> iswain.bat
M1=05
DD=08
YYYY=2010
HH=14
MM=22
Press any key to continue . . .
115
date = Sat 05/08/2010
1 file(s) copied.
Volume in drive C has no label.
Volume Serial Number is 0652-E41D

Directory of C:\test

05/09/2010 12:56 PM 9 BATCH115-20100508-1422.txt
1 File(s) 9 bytes
0 Dir(s) 296,157,327,360 bytes free

C:\test>Quote from: lswain on May 05, 2010, 01:03:42 PM

Need to rename data file DATA256 after processing data.

Naming convention is BATCHxxx-YYYYMMDD-HHMM.
xxx is a sequential number incremented prior to rename.

Is this possible within .bat?

The for loop in post one is not needed.

Reference:

http://www.dostips.com/DtTipsStringManipulation.php



C:\test>type wain.bat
Code: [Select]@echo off

set M1=%date:~4,2%
set DD=%date:~7,2%
set YYYY=%date:~10,4%
echo M1=%M1%
echo DD=%DD%
echo YYYY=%YYYY%
pause
set HH=%TIME:~0,2%
set MM=%TIME:~3,2%
echo HH=%HH%
echo MM=%MM%
pause
set /p seq=<seq.txt
set /a seq=%seq% + 1
echo %seq% > seq.txt
type seq.txt
echo date = %DATE%

copy DATA256.txt BATCH%seq%-%YYYY%%M1%%DD%-%HH%%MM%.txt
dir BATCH*.txt
rem del DATA256.txt
rem del BATCH*.txt

Output:

C:\test>wain.bat
M1=05
DD=08
YYYY=2010
Press any key to continue . . .
HH=17
MM=01
Press any key to continue . . .
116
date = Sat 05/08/2010
1 file(s) copied.
Volume in drive C has no label.
Volume Serial Number is 0652-E41D

Directory of C:\test

05/09/2010 12:56 PM 9 BATCH116-20100508-1701.txt
1 File(s) 9 bytes
0 Dir(s) 296,159,543,296 bytes free

C:\test>Works great.

Thanks for your support Marvin.

lswain


Discussion

No Comment Found