好的,我正在尝试将文件夹的名称作为批处理值。该文件夹如下所示:
John_1
我试图只获得名称的第一部分 John 部分,该部分用下划线分隔。
有人有任何解决方案吗?
由于
答案 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
以查看可用选项的完整列表。