7

Мне не хватает подстановочного знака для каталогов. Из Linux я имею в виду, что можно определить путь следующим образом:

jslint scripts/**/*.js

который включает в себя все файлы js из всех дочерних каталогов в дереве каталогов скриптов.

jslint scripts/*/*.js

включает в себя все прямые подкаталоги скриптов /.

В командной строке Windows это, кажется, не работает. Есть ли способ определить то же самое?

2 ответа2

5

в окнах нет 'cos * или *.* , перечислены файлы и каталоги, но вы не можете сделать c:\blah\*\*

Ты можешь сделать

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:\ тес>

Таким образом, вы можете заменить * .mp3 на * .js и mp3prog на jslint, который может дать то, что вы хотите.

И удалите @echo

Либо * либо *.* В этих скобках работает нормально.

Вы видите, что он перечисляет все команды, которые он будет выполнять. Он просматривает каждый файл в c:\tes и все его подкаталоги.

Или из любого каталога

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:\>

или же

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:\>
1

В этом конкретном случае все, что вам нужно сделать, это указать имя корневого каталога вместо использования подстановочных знаков. По крайней мере, это верно для jshint, который сейчас более популярен, чем jslint.

jshint scripts

Или же:

cd scripts
jshint .

См. Также (который включает удобный трюк Барлопа, примененный к jshint): https://stackoverflow.com/a/30114333/1593924

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .