2014-11-03 4 views
1

Я занят работой над программой CMD (с использованием Windows, & и работает CMD в качестве администратора), который будет делать следующее:Время CMD выход на основе

  • Обнаружение всех компьютеров, подключенных к сети и записи в текст файл (Эта часть работает правильно)
  • Выхода из программы, если время компьютера равен, например, 12:00 вечер

программа выглядит следующим образом:

@ECHO OFF 

color a 

: Begin 

IF %Time% /t GTQ 01:15 && %Time% /t LEQ 01:20 (GOTO END) <---- problem is here 

%                        % 
% Date stamp the log entry and copy values. Wait 3 min before redoing the scan and check time % 
%                        % 

Time /t >> C:\Users\Paimon\Desktop\"WIFI data.txt" 

Date /t >> C:\Users\Paimon\Desktop\"WIFI data.txt" 

netstat -n 

netstat -n >> C:\Users\Paimon\Desktop\"WIFI data.txt" 

timeout /t 180 

cls 

GOTO Begin 

:END 
exit 

Я решил, что время должно сравниваться с ожидаемым значением, так как программа выполняет только эту линию каждые 3 мин.

ответ

1

У вас есть несколько проблем в проблемной линии:

%time% /t не будет работать

GTQ не является допустимым оператором (использование GTR или GEQ)

Вы не можете сделать if a && b then

Хорошим решением могло бы быть:

if %time: =0% geq 01:15 if %time: =0% leq 01:20 goto end 
+0

+1, Отличное простое решение вопроса. – dbenham

+0

Я боюсь, Стефан, что если я вставлю свой код в мой существующий код, cmd вернет ошибку: 72 был неожиданным в это время. –

+0

'72'? Семьдесят два? Невозможно получить эту ошибку с помощью этого кода. Удалите '@echo off', чтобы увидеть, что происходит. – Stephan

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