扩展点和文件名之间的额外空间

时间:2014-05-01 23:10:19

标签: batch-file

我在Windows批处理中使用以下代码生成后缀为日期和时间的文件名。:

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a-%%b-%%c)
set mytime=%mytime: =% 

当我尝试生成如下文件名:ECHO DATABASE_2014-05-01_04-38-PM时,每件事情都可以。 但是,当我尝试向文件名添加类型的扩展名时,例如.sql

ECHO DATABASE_%mydate%_%mytime%.sql

我有这样的输出:DATABASE_2014-05-01_04-31-PM .sql in - 在文件名的最后一个.sqlPM之间找到一个额外的空格。

如何解决此问题以使扩展程序直接附加到文件名?

1 个答案:

答案 0 :(得分:2)

set "mytime=%mytime: =%"

您在行尾有一个额外的空格。引用变量的赋值可以防止出现此问题