2012-07-05 67 views
2

===== CMD批處理文件=====如何在檢查和做其他許多東西在CMD

我想檢查變量==「字符串」,然後回送消息和其他運行程序它必須退出1號出口,否則甚至是空的。

我曾嘗試了這麼多已經和谷歌使用的,但我似乎在這個時候的錯誤,不斷收到的語法錯誤和意外,CMD是真正解決,雖然這是很老,但功能強大的鬥爭。

所以我想了解是什麼不對我的括號或結構,因爲它告訴我(是意外或語法錯誤或不是預期尚未...是煩人

我的結構等。:

echo off 
if "%1"=="imre" goto imre (
echo found parameter "%1" 
) else if NOT %1=="imre" echo you failed 

只是不工作,我得到

(是意外

等語法錯誤,如果我試圖調整這個...

所有我想要的是:(這是我已經寫了,但它不工作)

if %variable%=="hello" (
echo hello is correct 
echo now lets start this program 
start /w excel.exe 
) else (
exit 1 
) 

這是不行的,我不明白我做錯了什麼。 這是CMD批處理,它正在嘗試實現

+1

您使用什麼語言? – PriestVallon 2012-07-05 18:23:44

+0

我認爲你應該編輯你的文章,以概述你想要達到的行爲,而不是提供psuedocode。給變量一個真實的場景,以及在所有情況下應該發生什麼。 – 2012-07-05 18:24:56

+0

我不知道如何編輯我的文章。我剛來這地方。 – Imre 2012-07-05 18:31:46

回答

0

您的%variable%變量實際上是否包含"hello"hello?如果你通過Hello%variable%

if "%variable%"=="hello" (
    echo hello is correct 
    echo now lets start this program 
    start /w excel.exe 
) else (
    exit 1 
) 

這樣,你實際上是比較"hello" == "hello"

如果參數沒有引號,你應該使用這個。

+0

等等,我做的是正確的,我的意思是語法正確? – Imre 2012-07-05 18:43:24

+0

除了可能用於引號,是的。上面的代碼適用於我。 – LittleBobbyTables 2012-07-05 18:43:56

+0

你會推薦哪個dos編輯器,textpad,notepad ++或什麼?我以爲記事本是古老的...不是看我看,用我發現是可怕的。感謝您的幫助,非常感謝。我想我不知道我在做什麼之前,但我發誓我有syntex和意外的錯誤,它正在殺死我。現在當我嘗試,它確實工作,也許我沒有在這裏複製和粘貼正確 – Imre 2012-07-05 18:51:09

0

是的,你的報價不一致。但是我相信goto正在引發這個問題,因爲它比你想要做的其他事情早。

試試這個:

echo off 
if "%1"=="imre" (
echo found parameter "%1" 
goto imre 
) else if NOT "%1"=="imre" echo you failed 
相關問題