2017-02-23 125 views
0

我試圖做一個批處理文件,但我轉到口口聲聲說「轉到在這個時候意外」這裏是我的代碼轉到意想不到的是,在這個時候我的批處理文件

@echo off 
if %firstrun% == 5 goto shut 

後來.. ..

set firstrun=5 

而且最後

:shut 

echo o snap 

shutdown -s -f -t 120 

goto passk 
+1

批處理文件的其餘部分在哪裏?你需要發佈的不僅僅是你有什麼,以便有人能夠幫助你 –

+0

它是私人的。是否有必要找到答案? –

+1

然後混淆敏感部分。批處理文件代碼大部分並不那麼敏感。但我最好的猜測是你沒有賦值給第一個變量的值,所以IF命令變成了一個錯誤,因爲你在比較的左邊沒有任何東西。在你的比較的每一邊都加上引號。 – Squashman

回答

2

它的抱怨,因爲如果firstrun爲空,則命令語法是WRO ng並失敗。簡單的解決方案是將變量和常量進行比較。

if "%firstrun%" == "5" goto :shut 

或檢查,如果變量是空白事前。如果你想的%firstrun%比較值的數量

if defined firstrun (
    rem Variable had a value. 
    if %firstRun% == 5 goto :shut 
) 

這種方法非常有用,因爲在與該功能if語句可以胡來報價方法。

相關問題