2015-04-30 36 views
2

我对批处理编程有些不满意。我这有非常小的,简单的代码做一些东西与Tuppers自我指涉的公式:将环境变量设置为函数结果

java -jar Tuppers.jar --read-image <img file you want to read> 

我有一个名为Read文件夹中的图像文件。所以我使用这个命令行:

java -jar Tuppers.jar --read-image Read\* 

因为我一次只能在该文件夹中有一个文件。

我想设置一个变量num给函数的结果,然后echo出来,但如果我用

set /p num = java -jar Tuppers.jar --read-image Read\* 

那么它只是要设置变量的命令行。

+1

如果你正在谈论Windows命令行和Windows批处理文件:那有**没有任何**与“DOS编程”。 (MS-)DOS已经死亡并被遗忘。 –

+0

是的,我当然是一个noob,我什至不知道它叫 – fredericiaff

+0

'java -jar Tuppers.jar的输出是什么 - 读图像读\ *'? – DavidPostill

回答

0
For /f "delims=" %A in ('java -jar Tuppers.jar --read-image Read\*') do echo %A 

for /?和打字时使用批处理文件%%A%A

+0

是的,它看起来不错,至少是正确的想法,把我需要的代码放到一个片段中,当我到家时生病尝试它:)谢谢 – fredericiaff

0

任何Windows命令行程序的标准输出都可以以各种方式获取。

通过>和>>

重定向到文件通过|

并在你的情况下作为一行输出。试试这个命令行: for /f "tokens=*" %i in ('java -jar Tuppers.jar --read-image Read\*') do set myvar=%i

之后,你可以通过“echo%myvar%”检查内容的myvar将包含java命令的最后一行输出。

请注意,为此,您的java Tuppers.jar需要将您想要的数字打印到标准输出。

+0

是的,看起来和Trigger告诉我的很相似,在这种情况下,我可以只是开始呼应它,因为那是我的目标无论如何,谢谢你的帮助:) – fredericiaff