I am writing a script to backup my mongoDB database. The backup is working fine but somehow I am unable to set folder location properly.
Below is my Script
@echo on
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a)
set print_time = %mydate%_%mytime%
set DIR=%print_time%
set DEST=D:\MongoDB\db_backup\%DIR%
mkdir %DEST%
mongodump -h 127.0.0.1:27017 -d DW -u [user]-p [password] -o %DEST%
The following line is note working.
set DIR=%print_time%
variable DIR is empty
Output from above Script
D:\MongoDB>mongoBackup.cmd
D:\MongoDB>For /F "tokens=2-4 delims=/ " %a in ('date /t') do (set
mydate=%c-%a-%b )
D:\MongoDB>(set mydate=2019-06-24 )
D:\MongoDB>For /F "tokens=1-2 delims=/:" %a in ('time /t') do (set mytime=%a
)
D:\MongoDB>(set mytime=04 )
D:\MongoDB>set print_time = 2019-06-24_04
D:\MongoDB>set DIR=
D:\MongoDB>set DEST=D:\MongoDB\db_backup\
D:\MongoDB>mkdir D:\MongoDB\db_backup\
A subdirectory or file D:\MongoDB\db_backup\ already exists.
D:\MongoDB>mongodump -h 127.0.0.1:27017 -d DW -u [user]-p [password]-o
D:\MongoDB\db_backup\
[BACKUP INFOS...]
As you can see the variable DIR is empty
set print_time = %mydate%_%mytime%toset "print_time=%mydate%_%mytime%". Currently your variable is%print_time %not%print_time%. Take a read of the output from enteringset /?at the Command Prompt window.