Regex Windows批处理文件匹配文件名中的前缀和后缀

Regex Windows批处理文件匹配文件名中的前缀和后缀,regex,windows,batch-file,batch-rename,Regex,Windows,Batch File,Batch Rename,在Windows批处理文件中,当文件以以下方式命名时,是否可以提取somestring: prefix_somestring.txt somestring_suffix.txt 假设下划线\uuu分隔前缀或后缀。上下文是遍历文件夹中的所有文件,并为每个文件返回somestring 您可以用空格替换uu。那么文件名字符串将是两个单词。现在运行for循环并将这两个字存储在两个变量中 由于通过移动应用程序键入,请原谅简短 for %%a in ("%cd%\*.txt") do ( set myf

在Windows批处理文件中,当文件以以下方式命名时,是否可以提取
somestring

prefix_somestring.txt
somestring_suffix.txt 

假设下划线
\uuu
分隔前缀或后缀。上下文是遍历文件夹中的所有文件,并为每个文件返回
somestring

您可以用空格替换uu。那么文件名字符串将是两个单词。现在运行for循环并将这两个字存储在两个变量中

由于通过移动应用程序键入,请原谅简短

for %%a in ("%cd%\*.txt") do (
set myfile=%%~nxa
set myfile=!myfile:_= !

set part1=""
set part2=""
for %%i in (%myfile%) do (
    if "%part1%"=="" (
        set part1=%%i
    ) else (
        set part2=%%i
    )
)
echo %part1% %part2%
)

你用什么语言编程?在什么环境下?你想做什么?%1的
DIR prefix_*
在(prefix_*)中都可以回送%1
可能会起作用…您真的在使用
MS-DOS
?为什么还要在问题上加上
windows
?MS-DOS使用8.3文件名,不能有更长的文件名。你一定是在谈论使用CMD.exe的Windows。我提到的前缀和后缀呢?他们知道吗?