Reference: How to create a RAR archive with date of the archived folder in archive file name?
With the referenced batch file I can make a good packed file for the folder I want to backup.
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "FolderToBackup=%1"
rem Get last modification date/time of the folder to backup
rem in region dependent format which is YYYY-MM-DD hh:mm.
for %%I in ("%FolderToBackup%") do set "FolderTimeStamp=%%~tI"
rem Get from this date/time string just the year, month
rem and day of month from the date without the hyphens.
set "FolderTimeStamp=%FolderTimeStamp:~0,4%%FolderTimeStamp:~5,2%%FolderTimeStamp:~8,2%"
rem Compress the folder to backup into a RAR archive file with
rem last modification date of folder used in archive file name.
"%Programw6432%\WinRAR\WinRAR.exe" a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- %FolderTimeStamp%_%FolderToBackup%.rar "%FolderToBackup%"
rem Restore the environment as set before usage of command SETLOCAL at top.
endlocal
I am used to manage my files with Total Commander.
I configured the batch file to be a button on the button bar of TC with the button setting Parameters: %s
. When the active item is a folder like d:\doc\aatemp
in TC, I press the button and TC calls the batch file and passes the correct folder name to the batch file which packs the folder.
For more than one folder I want to do as above.
So I made another batch file with the button setting Parameters: %L
.
TC creates a list file in folder for temporary files on using %L
with full qualified names of selected files / folders written into this list file and calls the batch file with full name of this temporary list file.
rem @echo off
rem Processing of %L or %WL
REM setlocal EnableExtensions DisableDelayedExpansion
setlocal enabledelayedexpansion
rem for /f "usebackq delims=" %%s in (`type %1`) do echo "%%s"
for /f "usebackq delims=" %%s in (`type %1`) do (
echo "%%s"
rem pause
rem
set FolderToBackup=%%s
echo !FolderToBackup!
REM pause
if "!FolderToBackup:~-1!"=="\" set "FolderToBackup=!FolderToBackup:~0,-1!"
echo !FolderToBackup!
pause
rem Get last modification date/time of the folder to backup
rem in region dependent format which is YYYY-MM-DD hh:mm.
for %%I in ("!FolderToBackup!") do set "FolderTimeStamp=%%~tI"
echo !FolderTimeStamp!
pause
rem Get from this date/time string just the year, month
rem and day of month from the date without the hyphens.
set "FolderTimeStamp=!FolderTimeStamp:~0,4!!FolderTimeStamp:~5,2!!FolderTimeStamp:~8,2!"
echo !FolderTimeStamp!
pause
rem Compress the folder to backup into a RAR archive file with
rem last modification date of folder used in archive file name.
rem "!Programw6432!\WinRAR\WinRAR.exe" a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- !FolderTimeStamp!_!FolderToBackup!.rar !FolderToBackup!
c:\Program Files\WinRAR\WinRAR.exe a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- !FolderTimeStamp!_!FolderToBackup!.rar !FolderToBackup!
)
rem Restore the environment as set before usage of command SETLOCAL at top.
endlocal
I can see with command pause
the output as I want before the command line with WinRAR.exe
.
The command line with WinRAR.exe
cannot work with the list file as I want it.
This extended version of the batch file can be called for example by Total Commander with first argument being an absolute or even a relative folder path not ending or ending with a backslash as well as name of an existing list file with absolute or relative file path.
Please read the remarks for explanation of this batch file.
In Total Commander (short: TC) this batch file can be called with one or more folder paths by using only one item in toolbar. Specify as Command the batch file with full path and
%L
as Parameters.TC executes the batch file with the folder path passed as first argument on dragging & dropping a single folder on this item in toolbar.
Clicking on item in toolbar with a folder active in active pane or with one or more folders selected in active pane results in execution of the batch file with TC creating temporarily the list file with the full qualified folder names of either active folder or the selected folder(s), except there is nothing selected in active pane and active is
..
.