Автоматическое сжатие JavaScript с помощью PowerShell

Я хочу написать скрипт, который возьмет кучу .js-файлов, сжал их, а затем заменит старые на новые в той же папке. Я попробовал несколько вещей, но обнаружил, что так или иначе я постоянно сталкиваюсь с новыми проблемами, поэтому я подумал, что будет лучше обратиться к людям, у которых есть лучшее понимание того, что я делаю, и начать все заново.

Кто-нибудь может указать мне правильное направление?

Обновление: Я использую набор команд, похожих на следующие:

>Get-ChildItem c:\NewFolder\ -recurse |
&java -jar yuicompressor-2.4.6

Не похоже, что он хочет разрешить такое использование вывода. Я уверен, что есть способ заставить это работать, но будучи еще новичком в PowerShell, я не слишком уверен, что смогу разобраться в этом самостоятельно.

Обновление: Используя предложенную ниже командную строку, я могу получить PowerShell, чтобы дать мне то, что кажется прочитанным из только что сжатого .js, но он не заменит существующий файл на сжатый и не запишет его в стандартный каталог, который, как я полагаю, находится в том же каталоге в формате [имя файла].min.js.

Обновление: Модифицированная версия предложенной команды, похоже, выполняет свою задачу!

>Get-ChildItem c:\NewFolder\ -exclude jquery*.js,*min.js -recurse | %{java -jar yuicompressor-2.4.6.jar ($_.fullname) -o ($_.fullname)}

Однако, когда команда запускается в PowerShell, как ни странно, я получаю сообщение об ошибке от PowerShell относительно команды Java....

java.exe : В строке:4 char:72 + Get-ChildItem c:\Scripts\ -exclude jquery*.js,*min.js -recurse | %{java <<<< -jar yuicompressor-2.4.6.jar ($.fullname) -о ($.полное имя)} + КатегорияИнфо : Не определено: (:Строка) [], RemoteException + FullyQualifiedErrorId : NativeCommandError Использование: java -jar yuicompressor-x.y.z.jar [опции] [входной файл]

Global Options -h, --help Отображает эту информацию. --type Указывает тип входного файла. -тарзанка Чтение входного файла с помощью -разрыв строки Вставить разрыв строки после указанного номера столбца -v, --verbose Отображение информационных сообщений и предупреждений. -o Поместите выход в . По умолчанию - stdout. Несколько файлов могут быть обработаны с помощью следующего синтаксиса: java -jar yuicompressor.jar -o '.css$:-min.css' *.css java -jar yuicompressor.jar -o '.js$:-min.js' *.js

JavaScript Options nomunge Minify only, do not Сохранить все точки с запятой Отключить все микрооптимизации

Если входной файл не указан, по умолчанию используется stdin. В этом случае Необходима опция "тип". В противном случае необходима опция 'type'. только если расширение входного файла не является ни 'js', ни 'css'.

Есть идеи, что PowerShell пытается мне сказать?

5
задан Liam - Reinstate Monica 12 May 2016 в 13:00
поделиться