2015-05-28 38 views
1

我有一个字符串来表示日期“05/28/2015”,并且想要使用bat将其更改为“05_28_2015”。任何建议都会?赞赏如何在bat文件中将特殊字符'/'替换为'_'

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% 
+0

在这里发布问题之前,您尝试了什么? – Zulu

+0

你应该真的提供你的尝试。你只需要寻求答案就不会学到任何东西。 –

+0

这是我的第一个问题,抱歉不遵守标准。我正在阅读标准并对其进行编辑。 – Guruprasad

回答

0

我看你们还通过串数字索引提取很好掌握批变量也有可变子替换语法:

%haystack:needle=replacement% 

将取代所有的“针“与变量%h中的”替换“ aystack%。考虑到这一点,您可以使用此语法替换所有/_

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

这应该呼应05_28_2015如果你在美国语言环境是。获取MMDDYYYY的语言环境有更多不可知论的方法,但我们将在另一天保存该课程。

+0

非常感谢!它简洁而且有效。 – Guruprasad

+0

@Guruprasad如果我的回答很有帮助,请考虑将其标记为已接受。 [见本页](http://meta.stackexchange.com/q/5234/275822),解释为什么这很重要。 – rojo