我在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 - 在文件名的最后一个.sql
和PM
之间找到一个额外的空格。
如何解决此问题以使扩展程序直接附加到文件名?
答案 0 :(得分:2)
set "mytime=%mytime: =%"
您在行尾有一个额外的空格。引用变量的赋值可以防止出现此问题