2013-11-01 5 views
0

Я запускаю его в Windows 8.1, если я запускаю команду shutdown без скрипта, он работает. Но когда я запускаю его из этого сценария есть некоторые неправильно синтаксис показан в ЦМД .... спасибо за помощьПочему мой скрипт отключения не работает?

@echo off 
TITLE shutdown timer 

SET /P minutes=Enter minutes till shutdown or "no" to stop running shutdowns: 

IF "%minutes%" == "no" (
    shutdown /a 
    echo shutdown aborted 
) ELSE (
    SET /A seconds = %minutes% * 60 
    shutdown /s /f /t %seconds% 
) 
pause 
+2

А какая именно ошибка вы получаете? «Что-то не так» не является надлежащим описанием ошибки. –

+1

вам нужно delayedExpansion -> http://ss64.com/nt/delayedexpansion.html – npocmaka

+0

Согласен, пожалуйста, разместите текст ошибки синтаксиса –

ответ

2
@echo off &setlocal enabledelayedexpansion 
TITLE shutdown timer 

SET /P "minutes=Enter minutes till shutdown or "no" to stop running shutdowns: " 

IF "%minutes%" == "no" (
    shutdown /a 
    echo shutdown aborted 
) ELSE (
    SET /A seconds = minutes * 60 
    shutdown /s /f /t !seconds! 
) 
+0

спасибо :-) теперь я вижу, как использовать отложенное расширение здесь – foobarbaz

1

Перемещение секунды из условия, и это работает:

@echo off 
TITLE shutdown timer 

SET /P minutes=Enter minutes till shutdown or "no" to stop running shutdowns: 
SET /A seconds = %minutes% * 60 

IF "%minutes%" == "no" (
shutdown /a 
echo shutdown aborted 
) ELSE (
shutdown /s /f /t %seconds% 
) 
pause 
+0

спасибо, что работает :-) – foobarbaz

Смежные вопросы