rename files in a folder with left pad zeros -
i need rename multiple files in folder. file names either 6 digits long or 9 digits long , need left pad file names leading zeros make total of 16 digits long.
for example if file name 123456.jpg should renamed 0000000000123456.jpg , if 123456789.jpg should renamed 0000000123456789.jpg.
maximum length of total digits should 16 digits.
there can 100 or more files in folder.
i tried this, know not code required task. started 1 , need move forward.
@echo off setlocal enableextensions enabledelayedexpansion rem iterate on jpg files: %%f in (c:\documents\pictures\pic\*.jpg) (     rem store file name without extension     set filename=%%~nf     rem add leading zeroes:     set filename=00000000000!filename!     rem add extension again     set filename=!filename!%%~xf     rem rename file     rename "%%f" "!filename!" )   i prefer batch script. if not possible, vb script accepted.
based upon stephan's recommendation, have updated code below. code not prefix zeros file name 123456.jpg.
i want add here knowledge on batch script coding limited. code trying initial trial, want , has been mentioned in question script should able prepad zeros irrespective of file name 6 digits long or 9 digits long , make total of 16 digits long. think if code trying starts work, still not looking for.
when run code not anything.
@echo off setlocal enableextensions enabledelayedexpansion rem iterate on jpg files: %%f in (c:\documents\pictures\pic\*.jpg) (     rem store file name without extension     set filename=%%~nf     rem add leading zeroes:     set filename=0000000000!filename!     set filename=!filename:~-16!     rem rename file     rename "%%f" "!filename!"     set filename=!filename!%%~xf     rem rename file     rename "%%f" "!filename!" )   updated code converting 6 digits long file name 16 digits long:
@echo off setlocal enableextensions enabledelayedexpansion rem iterate on jpg files: %%f in (c:\documents\pictures\pic\*.jpg) (     rem store file name without extension     set filename=%%~nf     rem add leading zeroes:     set filename=000000000!filename!     set filename=!filename:~-16!     set filename=!filename!%%~xf     rem rename file     rename "%%f" "!filename!" )       
instead of worrying initial length of filename, add enough zeros front of filename , cut resulting string sixteen characters:
... set filename=%%~nf set filename=0000000000000000!filename! set filename=!filename:~-16!%%~xf ...      
Comments
Post a Comment