2015-04-30 40 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