如何过滤批处理文件中的字符串?

时间:2019-02-27 12:08:02

标签: batch-file

我想将project_Name_-_sofeware_Name.txt之类的字符串处理到project_Name.txt中,因此我编写了如下脚本来运行:

set temp1=%~n1
echo %temp1:-*=%

但是蝙蝠的输出仍然是project_Name_-_sofeware_Name.txt

我还写了另一个bat文件来获取文件夹名称:

:GetFolderName
set temp2=%temp1%
set temp1=%temp2:*\=% 
If Not %temp1%==%temp2% Goto GetFolderName

输出字符串到目前为止与预期一致。

这也很奇怪。我认为,在运行temp1=%temp2:*\=%后,它应该是FolderName。

1 个答案:

答案 0 :(得分:2)

您可以通过一种非常简单的方式进行操作:

@echo off

set "temp1=project_Name_-_sofeware_Name.txt"

set "dummy=%temp1:_-_=" & set "temp2=%"

echo %temp2%

更多详细信息,位于Split string with string as delimiter。在这样的答案上注意评论 ...