我正在编写一个脚本,以使用javac编译文件夹的所有子目录中的所有java文件。
在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"
,并收到相同的错误。
我尝试在没有cmd的情况下直接运行Javac(直接在powershell中),并在Powershell.exe中收到以下错误:
拼写运算符'@'不能用于引用 表达。 '@targetFile'只能用作 命令。要在表达式中引用变量,请使用“ $ targetFile”。
如何在ISE中的cmd中将@ targetFile.txt参数传递给javac?