小编i3i*_*5i7的帖子

批处理文件循环 - 如果文件名包含字符串,则跳过文件

我试图做的基本上与这个问题相同,即我想循环遍历目录中的文件,但排除名称中包含特定字符串的文件(在我的例子中为“.new”。但是,问题是我正在使用的

setlocal DisableDelayedExpansion
Run Code Online (Sandbox Code Playgroud)

因为我希望批处理也可以处理包含感叹号的文件名。因此,我尝试直接使用循环变量 %%x 而不是新变量来使解决方案工作,但这似乎不起作用:

setlocal DisableDelayedExpansion
For %%x in (*.mkv *.mp4) do (
  If "%%x" == "%%x:.new." (
    Echo Skipped "%%x"
  ) Else (
    Echo Processing "%%x"
  )
)
Run Code Online (Sandbox Code Playgroud)

字符串匹配不起作用,即我明白了

Processing "file.mkv"    
Processing "file.new.mkv"
Run Code Online (Sandbox Code Playgroud)

任何关于我如何让它发挥作用的提示将不胜感激;谢谢!

string comparison filenames batch-file

3
推荐指数
1
解决办法
8449
查看次数

标签 统计

batch-file ×1

comparison ×1

filenames ×1

string ×1