如何在bat文件中将特殊字符'/'替换为'_'

How to replace special character '/' to '_' in a bat file

我有一个表示日期“05/28/2015”的字符串,我想使用 bat 将其更改为“05_28_2015”。任何建议都将不胜感激?

SET var_date=%date:~4,10%
SET mm = %var_date:~0,2%
SET dd = %var_date:~3,2%
SET yyyy = %var_date:~6,4%
echo %mm%
echo %dd%
echo %yyyy%
echo %mm%_%dd%_%yyyy%

我看到你已经很好地掌握了通过数字索引提取子串。批处理变量也有变量子串替换的语法:

%haystack:needle=replacement%

将在变量 %haystack% 中用 "replacement" 替换所有出现的 "needle"。考虑到这一点,您可以使用此语法将所有 / 替换为 _

set "var_date=%date:~4,10%"
set "var_date=%var_date:/=_%"
echo %var_date%

如果您在 U.S 中,那应该回显 05_28_2015。语言环境。有更多与区域设置无关的方法来获取 MMDDYYYY,但我们将把这一课留到另一天。