I have a directory tree with thousands of pdfs and tifs. A folder may contain multiple pdfs or tifs in that case they are numbered 1.pdf, 2.pdf etc... I have to make them available and making sure they are maually processed oldest files first - so I want to rename them with their creation date and time (1.pdf -> 20150415481876.pdf):
Currently I use
@echo off
set datetime=%~t1
set name=%~n1
set extension=%~x1
set year=%datetime:~6,4%
set month=%datetime:~3,2%
set day=%datetime:~0,2%
set hour=%datetime:~11,2%
set min=%datetime:~14,2%
ren %1 "%year%%month%%day%%hour%%min%%name%%extension%"
This can now properly rename a file 1.tif to 2014052513241.tif (file created 25.05.2014 13:24). But how can i make this able to handle multiple file in the same folder (e.g. 1.tif 2.tif 3.tif) if i call the batch with batch.bat *.tif? Thank you
@if (@X)==(@Y) @end /* JScript comment
@echo off
set "extension=tiff"
set "directory=c:\somedir"
pushd "%directory%"
setlocal enableDelayedExpansion
for %%a in (*%extension%) do (
for /f %%# in ('cscript //E:JScript //nologo "%~f0" %%a') do set "cdate=%%#"
echo ren "%%a" "!cdate!%%~xa"
)
rem cscript //E:JScript //nologo "%~f0" %*
exit /b %errorlevel%
@if (@X)==(@Y) @end JScript comment */
FSOObj = new ActiveXObject("Scripting.FileSystemObject");
var ARGS = WScript.Arguments;
var file=ARGS.Item(0);
var d1=FSOObj.GetFile(file).DateCreated;
d2=new Date(d1);
var year=d2.getFullYear();
var mon=d2.getMonth();
var day=d2.getDate();
var h=d2.getHours();
var m=d2.getMinutes();
var s=d2.getSeconds();
var ms=d2.getMilliseconds();
if (mon<10){mon="0"+mon;}
if (day<10){day="0"+day;}
if (h<10){h="0"+h;}
if (m<10){m="0"+m;}
if (s<10){s="0"+s;}
if (ms<10){ms="00"+ms;}else if(ms<100){ms="0"+ms;}
WScript.Echo(""+year+mon+day+h+m+s+ms);
set your own extension and directory to rename all files with given extension in directory to their creation date.The format will be YYYYMMDDhhmm
.Renaming is echo
ed so you can see if everything is ok.If it is remove the echo
word from the 9th line.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With