如果文件夹名称包含 space 并且文件名称在批处理文件中有时间戳,如何传递文件位置?
How to pass file location if folder name contains space and file name has timestamp in Batch file?
这是我尝试正常导出备份的批处理文件,但由于文件夹名称 DB Backup
中的 space 对于 file="D:\DB Backup\sys_12c_%fullstamp%.dmp"
中的备份文件目录,它无法正常工作。如果文件夹名称中没有 space 即 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"""
这是我尝试正常导出备份的批处理文件,但由于文件夹名称 DB Backup
中的 space 对于 file="D:\DB Backup\sys_12c_%fullstamp%.dmp"
中的备份文件目录,它无法正常工作。如果文件夹名称中没有 space 即 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"""