如何取代特殊字符' /'到' _'在一个bat文件中

时间:2015-05-28 22:51:51

标签: batch-file window

我有一个字符串代表日期" 05/28/2015"并希望将其更改为' 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%

1 个答案:

答案 0 :(得分:0)

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

%haystack:needle=replacement%

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

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

如果你在美国境内,那应该回复05_28_2015。有更多与语言环境无关的方法来获取MMDDYYYY,但我们会将该课程保存一天。