2

可能太简单的问题了,但是我如何匹配文件扩展名,例如.jpg当不匹配时jpg~(即程序制作本地副本的 jpg?)我当前的行是:

for /f %%a in ('dir /b *.jpg') do echo %%~na

但是,如果任何程序打开了其中一个文件的副本(并因此创建了一个.jpg~文件),则此正则表达式也将匹配这些文件。我找到了对$“行尾”的引用,但这样做根本不起作用:

for /f %%a in ('dir /b *.jpg$') do echo %%~na
4

2 回答 2

4

我认为仅使用 FOR 命令是不可能的(除非您将 dir 的输出通过管道传输到 findstr),但在这种情况下,只需添加一个简单的 if 测试即可:

for %%A IN (*.jpg) DO if "%%~xA"==".jpg" @echo %%~A
于 2010-07-23T10:03:07.230 回答
1

我认为,问题出在短名称表示上。(使用dir /X,您可以看到它们xxx.jpg都有xxx.jpg~一个以 . 结尾的 8.3 文件名.jpg。)

于 2010-07-23T09:53:31.150 回答