批量连接字符串和变量

Concatenating strings and variables in batch

我想在 .bat 文件中创建动态文件路径。目前文件路径如下所示:

"C:\FolderA\FolderB\FileA.xlsx"

我想在文件名中加入今天的日期来生成类似这样的内容:

/exp:"C:\FolderA\FolderB\FileA " & date() & ".xlsx" /T`

我已经尝试创建一个变量并将其与硬编码部分连接起来,但它不起作用:

set Mydate=!date:~10,4!!date:~7,2!!date:~4,2!
/exp:"C:\FolderA\FolderB\FileA "&%Mydate%&".xlsx" /T

批量连接字符和变量、引号有什么规则? 如何使用记事本批量调试?

?

/exp:"C:\FolderA\FolderB\FileA "&%Mydate%&".xlsx" /T

这不是 cmd 语法。要设置变量,请使用 set 命令。同样要连接,您没有(阅读:一定不能)使用连接符号之类的东西:

set "var=C:\FolderA\FolderB\FileA %Mydate%.xlsx"

(无论 /exp:/t 应该做什么 - 它在 cmd 中不起作用)

要重命名文件,请使用 ren(或长格式 rename)。要获得命令的帮助,请使用 command /? 例如rename /?