我刚刚创建了一个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