Question

Is something like this possible in the Windows standard shell using wildcards only?

$ ls -1 003[5,8]0
00350
00380
Was it helpful?

Solution

Not in the standard windows command shell (cmd.exe). It understands only the ? and * wildcards; no regular expressions.

Do you have the option of installing Cygwin, Windows Powershell, or another enhanced shell?

OTHER TIPS

yes, you can. Not with a single command, but with a combination of FOR and IF. Try this to get you started...

setlocal enabledelayedexpansion
for %%a in (003?0) do (
  set fn=%%a
  set fnl=!fn:~3,1!
  if .!fnl!==.5 (
    echo !fn!
  )
  if .!fnl!==.8 (
    echo !fn!
  )
)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top