我正在使用Windows批处理脚本在文本字符串中提取UNDERSCORE(“ _”)之前的文本

时间:2018-11-28 05:29:35

标签: windows batch-file

我想编写一个执行以下操作的批处理脚本。

  1. 我们获得的文件的命名约定类似于2604230_VIJAY_TAX_02-NOV-2018.xls in C:\temp\
  2. 我想从文件名中提取下划线(_)之前的字符串并将其保存到变量中
  3. 例如,从2604230_VIJAY_TAX_02-NOV-2018.xls文件名中,我要提取2604230VIJAYTAX02-NOV-2018并将它们保存到变量中。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您的问题实际上不在主题之列,但是无论如何,我将至少向您展示一种如何回显每个令牌的方式。

for /f "tokens=1-4 delims=_" %%i in ('dir /B /A-D "c:\temp\*_*.xls"') do echo %%i %%j %%k %%l

这仅用_分割字符串,并为每个值分割分配4个标记。

如果您想将它们实际分配给变量,则需要使用set命令;如果在循环中,则可能需要delayed expansion,所以我建议您打开cmd.exe并运行以下命令获取帮助文件的命令

for /?
set /?
setlocal /?