Skip to content

Instantly share code, notes, and snippets.

@digitalfun
Created May 28, 2024 13:51
Show Gist options
  • Save digitalfun/cfb1aaeb9179ecb20f4da60b732f42d9 to your computer and use it in GitHub Desktop.
Save digitalfun/cfb1aaeb9179ecb20f4da60b732f42d9 to your computer and use it in GitHub Desktop.
[Batch] Create backup copy with datetime
@ECHO OFF
REM support "Umlaute äöü" (Use codepage CP-1252 aka "Windows-1252" aka "Latin 1")
CHCP 1252 >nul
TITLE Create backup of XXX
SET "$PS_EXE=powershell.exe"
SET "_SOURCE_FILENAME=xxx.xlsx"
SET "_TARGET_BACKUP_FOLDER=X:\abc\def\geh\backup"
REM Get date YYYY-MM-dd -> (string) _date
SET "_TEMP_FILENAME=___delme.tmp"
%$PS_EXE% -Command "& {Get-Date -Format "yyyy-MM-dd"}">"%_TEMP_FILENAME%"
SET /P "_date="<"%_TEMP_FILENAME%"
DEL "%_TEMP_FILENAME%"
REM Create backup filename using date
SET "_TARGET_BACKUP_FILENAME=xxx_%_date%.xlsx"
REM Backup original
SET "_TARGET_BACKUP_FILE=%_TARGET_BACKUP_FOLDER%\%_TARGET_BACKUP_FILENAME%"
ECHO Backup original file ...
ECHO. - original: "%_SOURCE_FILENAME%"
ECHO. - backup: "%_TARGET_BACKUP_FILENAME%"
ECHO.
XCOPY "%_SOURCE_FILENAME%" "%_TARGET_BACKUP_FILE%*" /-Y
ECHO Done.
ECHO.
REM Show Message
SET "_MSGBOX_TEMP_FILE=_delme_taskfile_msgbox.vbs"
> "%_MSGBOX_TEMP_FILE%" ECHO WScript.Echo ^( "Backup abgeschlossen." ^& vbCrLf ^& "(%_TARGET_BACKUP_FILENAME%)" ^)
WSCRIPT.EXE "%_MSGBOX_TEMP_FILE%"
DEL "%_MSGBOX_TEMP_FILE%"
TITLE Create backup of XXX - DONE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment