有没有办法在CMD代码上按前缀进行筛选



我刚刚创建了一个CMD行,将特定文件格式(.dwg(的所有文件从所有文件夹和子文件夹复制到另一个文件夹:

for /r "from here" %a in (*.dwg) do @copy /y "%a" "to there"

但后来我意识到我只需要复制以";EAX";前缀,以防止无用数据的过度加载。

有没有办法在这一行应用这些前缀过滤器,或者需要用另一种语言编程?

Thx!

Put"EAX";到文件规范中。

for /r "from here" %a in ("EAX*.dwg") do @copy /y "%a" "to there"
for /r "from here" %a in ("EAX-*-0000.dwg") do @copy /y "%a" "to there"

如果中间的数字总是五(5(个字符,则可以使用以下内容。请注意,这不会检查中间部分是否包含数字。

for /r "from here" %a in ("EAX-?????-0000.dwg") do @copy /y "%a" "to there"

在PowerShell中可以很容易地检查五(5(位数字。请注意,-Filter是一种文件系统模式,但-match使用regex模式。

Get-ChildItem -File -Filter 'EAX-?????-0000.dwg' |
Where-Object { $_.BaseName -match '^EAX-d{5}-0000.dwg$' } |
Copy-Item -Path $_.FullName -Destination 'C:tmp' -Force

相关内容

  • 没有找到相关文章

最新更新