如何将下划线分隔的文件夹名称命名为批处理中的值?

时间:2016-06-01 14:56:31

标签: batch-file

好的,我正在尝试将文件夹的名称作为批处理值。该文件夹如下所示:

John_1

我试图只获得名称的第一部分 John 部分,该部分用下划线分隔。

有人有任何解决方案吗?

由于

1 个答案:

答案 0 :(得分:3)

与批处理中的大多数字符串处理一样,FOR /F命令允许您使用delims参数执行此操作。

for /f "delims=_" %%a in ("john_1") do set "name=%%a"

现在您想要的部分位于%name%变量中。

通常,您可以在变量而不是源代码中解析字符串。要使用变量运行上述内容,您可以echo变量。

set sz=John_1
for /f "delims=_" %%a in ('echo %sz%') do set "name=%%a"

最后,如果出于任何原因想要获取字符串的第二部分,FOR可以使用tokens=参数分配另一个变量来保存它。

set sz=John_1
for /f "tokens=1,2 delims=_" %%a in ('echo %sz%') do ( set "name=%%a" & set "number=%%b" )

FOR是批处理语言中最强大的命令之一。运行help for以查看可用选项的完整列表。