6

我只是很新的批處理文件編程,我試圖找到解決方案在線,但失敗。 我的批處理文件調用一個c程序,將它自己的命令行參數傳遞給程序,然後執行依賴於第四個參數(這是一個整數)的值的後續步驟。 如果%4等於3,我想在批處理文件中執行額外的步驟。我已經放置了一些回顯測試語句。但即使我輸入3作爲第四個參數,也只會打印「testno」。Windows批處理文件:如何比較命令行參數到一個整數


批處理文件名:p2debug1234.bat


批處理文件代碼:


@echo off 
@setlocal 
p2task1 %1 %2 %3 %4 
start mi_viewer %1 
start mi_viewer %2 
echo %4 
echo 3 
If ("%4"== "3") (echo testyes) Else (echo testno) 
echo testif 

命令提示符快照:


H:\ELEC4622\labs\data>p2debug1234 pens_rgb.bmp test.bmp 2 3 

3 
3 
testno 
testif 

請幫我進行有效的比較。

最好的問候, 朱莉婭

+1

你真的使用MS-DOS?或者你可能使用Windows?如果是這樣,那麼這與ms-dos(這是操作系統的名稱而不是命令提示符)無關。 – joojaa

+0

我正在使用Windows,你是對的。抱歉。 – user2851154

+0

我只是一直認爲windows只是擴展MS-DOS的軟件。我很確定那是從什麼開始的(從記憶中)。但我猜想,Windows的更高版本不再是這種情況。 – user2851154

回答

10

更改行:

If ("%4"== "3") (echo testyes) Else (echo testno) 

到:

If "%4"=="3" (echo testyes) Else (echo testno) 
+0

非常感謝你 - 完美的作品。 – user2851154

+2

您應該投票並接受答案。這是感謝堆棧溢出的方式。沒有做任何這些事情打破了堆棧溢出的想法。 – joojaa

+0

我不知道該怎麼做。我從來沒有發佈到這個地方 – user2851154

相關問題