Проблема Передача параметра @targetFile в cmd javac в PowerShell IDE - PullRequest
0 голосов
/ 20 июня 2019

Я пишу скрипт для компиляции всех java-файлов во всех подкаталогах папки с использованием javac.

В powershell.exe я могу использовать

>cmd

>javac @targetFile.txt

, где targetfile.txt - текстовый файл, содержащий только пути к файлам для компиляции, например

'A:\path\to\the\java\file.java'

Чтобы выполнить это в сценарии, я сначала попытался

cmd.exe /c "javac @targetFile.txt"

, который выдал следующую ошибку NativeCommand:

cmd.exe: ошибка: недопустимый флаг: в C: \ ps \javaMake.ps1: 15 char: 1 + cmd.exe / c «javac @ targetFile.txt»

Удаление «/ c» устраняет ошибку, но затем сценарий зависает с cmd.exe стартовое сообщение на экране.

Я также предпринял попытку альтернативной конструкции:

$javacPATH = Get-Command javac | Select-Object -ExpandProperty Definition
&$javacPATH " @targetFile.txt"

и получил ту же ошибку.

Я попытался запустить javac без cmd (непосредственно в powershell) и получил следующую ошибку в Powershell.exe:

Оператор разбивки '@' нельзя использовать для ссылки на переменные ввыражение.«@targetFile» можно использовать только в качестве аргумента команды.Для ссылки на переменные в выражении используйте '$ targetFile'.

Как я могу передать параметр @ targetFile.txt в javac в cmd в ISE?

...