Batch file 批处理-打开文件名包含特定单词的文件

Batch file 批处理-打开文件名包含特定单词的文件,batch-file,Batch File,因此,我有一个批处理文件,它根据4个不同的文件扩展名检查目录中的文件,并处理它们是否具有正确的文件扩展名: set count=0 for %%x in (*.J_E, *.J_T, *.J_I, *.BCC) do ( set /a count=count+1 set choice[!count!]=%%x ) for /l %%x in (1,1,!count!) do ( echo %%x. !choice[%%x]! tlv2txt !choice[%%x]! >

因此,我有一个批处理文件,它根据4个不同的文件扩展名检查目录中的文件,并处理它们是否具有正确的文件扩展名:

set count=0
for %%x in (*.J_E, *.J_T, *.J_I, *.BCC) do (
  set /a count=count+1
  set choice[!count!]=%%x
)
for /l %%x in (1,1,!count!) do (
   echo %%x. !choice[%%x]!
   tlv2txt !choice[%%x]! > !choice[%%x]!.txt
)
我想做的是,在文件名包含特定字符串(如“marmite”)的情况下,添加使用文件的功能。 例如

通过运行批处理文件,我希望“处理”仅标有星号的文件:

  • stuff.j_e*
  • 事情
  • MoreStuff.j_i*
  • SomeThings.txt
  • SomeMarmiteInA.jar*
  • 不是这个文件,吉姆
  • OrThisOne.txt
  • 这是一个想法*
  • Marmiteoast.tlv*
正如我所说,我可以获得文件扩展名,但我对如何获得包含..的文件名一无所知。。
这能做到吗?

是的,你能做到

dir /a:-D /b | findstr /i "word"
dir/a:-D/b:此命令将列出目录中的所有文件

findstr/i:此命令将检查所有文件中的匹配单词并列出它们

/i:不区分大小写的搜索。 在我们的示例中,我们将得到一个文件名列表,其名称包含字符串“word”


请接受这个想法并继续。

好吧,我似乎已经回答了我自己的问题

我将把答案留给其他可能遇到同样问题的人

答案是

*marmite*.* 
因此,使用上面的例子

for %%x in (*.J_E, *.J_T, *.J_I, *.BCC, *marmite*.*) 

希望这对别人有帮助!:)

嗯,我似乎已经回答了我自己的问题。我将把答案留给其他可能遇到同样问题的人。。答案是
*marmite*
So,使用上面的例子<代码>用于%%x英寸(*.J_E、*.J_T、*.J_I、*.BCC、*marmite*)希望这对某人有帮助!:)您可以将此作为一个答案发布,然后甚至接受它,这样tge问题就不再是公开的了…谢谢aschipfl-现在完成…)谢谢prudviraj,虽然它很有用,但它并不完全是我想要的。如果我理解正确,这将在文件中找到一个文本字符串,我要查找的是一个包含字符串“marmite”(例如:somemarmite.txt)的文件名。从那以后,我已经找到了答案,并发布了适合我的答案。无论如何,谢谢你抽出时间@Doug此命令将从dir命令获取输入,并在文件名中查找字符串。从我这边核实过。如果你认为它的表现不同,请回复。