batch-file - 如果文件夹名包含空格并且文件名在批处理文件中有时间戳,如何传递文件位置?
问题描述
这是我正在尝试进行正常导出备份的批处理文件,但DB Backup
由于file="D:\DB Backup\sys_12c_%fullstamp%.dmp"
. 如果文件夹名称中没有空格,则它可以工作文件,即DBBackup
.
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "fullstamp=%YYYY%%MM%%DD%_%HH%%Min%%Sec%"
exp system/manager full=y file="D:\DB Backup\sys_12c_%fullstamp%.dmp" log="D:\DB Backup\sys_12c_%fullstamp%.log"
解决方案
使用三重引号:
exp system/manager full=y file="""D:\DB Backup\sys_12c_%fullstamp%.dmp""" log="""D:\DB Backup\sys_12c_%fullstamp%.log"""