Wildcard for all subdirectories or all descendent directories in windows commandline
There isn't a wildcard that works the way it does in Unix/Linux. In the Windows command line *
or *.*
will list files and directories in the current directory. But you can't do c:\blah\*\*
You can do:
C:\tes>for /r %f in (*.mp3) do @echo mp3prog %f
mp3prog C:\tes\a.mp3
mp3prog C:\tes\mof.mp3
mp3prog C:\tes\qw.mp3
mp3prog C:\tes\y\a.mp3
C:\tes>
You see it lists all the commands it would execute. It goes through every file in c:\tes and all its subdirectories. So you could replace *.mp3 with *.js and mp3prog with jslint and that might give you what you want.
Remove the @echo to execute the commands instead of just displaying them. (Though it can be good to leave the @echo
command in while debugging)
Either *
or *.*
in those brackets works fine.
Or from any directory
C:\>for /r c:\tes %f in (*.*) do @echo mp3prog %f
mp3prog c:\tes\103.gif
mp3prog c:\tes\a.mp3
mp3prog c:\tes\mof.mp3
mp3prog c:\tes\oo.mpg
mp3prog c:\tes\qw.mp3
mp3prog c:\tes\t.mpg
mp3prog c:\tes\ta.mpg
mp3prog c:\tes\t_.mpg
mp3prog c:\tes\u.mpg
mp3prog c:\tes\uu.mpg
mp3prog c:\tes\y\a.mp3
C:\>
or
C:\>for /f %f in ('dir c:\tes /s/b') do @echo mp3prog %f
mp3prog c:\tes\103.gif
mp3prog c:\tes\a.mp3
mp3prog c:\tes\ff
mp3prog c:\tes\gg
mp3prog c:\tes\mof.mp3
mp3prog c:\tes\oo.mpg
mp3prog c:\tes\qw.mp3
mp3prog c:\tes\t.mpg
mp3prog c:\tes\ta.mpg
mp3prog c:\tes\t_.mpg
mp3prog c:\tes\u.mpg
mp3prog c:\tes\uu.mpg
mp3prog c:\tes\y
mp3prog c:\tes\y\a.mp3
C:\>