一个名为CD_25467,JBMA_33455,CCD_2133等的目录,我想将字符和数字存储在两个不同的变量中。例如,
CD_25467
@echo off
set folder=D:\karthick\CD_25467
set j=[(A-Z)+]
set a=[(0-9)+]
echo %j%
echo %a%
输出将会出现,
CD
25467
如何为上述示例编写正则表达式编码?
答案 0 :(得分:1)
在批处理文件中使用:
@echo off
for %%I in ("D:\karthick\CD_25467") do for /F "tokens=1,2 delims=_" %%A in ("%%~nI") do set "j=%%A" & set "a=%%B"
echo %j%
echo %a%
打开命令提示符窗口,然后运行for /?
获取命令 FOR 的帮助,解释%~nI
表示引用文件或文件夹名称的含义,即最后一个反斜杠和如果有这样的字符串,则最后一个点。以反斜杠结尾的文件夹路径将导致仅使用""
运行内部 FOR ,导致j
和a
仍未定义或保持其当前字符串值
该帮助还说明了如何使用选项/F
来分割从文本文件或单个字符串读取的一个或多个行(如此处所进行的操作)或由在命令行中使用{{ 1}}。