Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 4
1

При выполнении батника на некоторых машинах с Windows XP не работает перенаправление вывода команд в NUL

22.04.2014, 10:49. Показов 1803. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не работает перенаправление >nul

проблема возникает на некоторых машинах под управлением рус winXP

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
 
:LOOP
:: Задержка между проверками, секунд (примерно)
set pause=100
ping -n %pause% 127.0.0.1>nul
 
echo %date% %time%
 
ping -n 1 [адрес] | find /i "TTL=">nul 
if %errorlevel%==0 ( 
goto NET 
)   else ( 
echo %date% %time%  Ethernet adapter is offline. Rebooting.... >> c:\Begin\Connection.log 2>&1 
shutdown -t 15 -r
)
 
 
:NET
ping -n 1 [адрес] | find /i "TTL=">nul 
if %errorlevel%==0 ( 
echo %date% %time%  VPN connection is active. >> c:\Begin\Connection.log 2>&1
)   else ( 
echo %date% %time%  VPN connection not detected. Dialing... >> c:\Begin\Connection.log 2>&1
netsh interface ip set address name="Cisco" dhcp
netsh interface ip set dns name="Cisco" dhcp
start /min c:\begin\connect1.cmd
)
 
goto LOOP
батник закрывается, путем перебора и подстановки pause удалось вычислить что вылетает после команд

ping -n %pause% 127.0.0.1>nul
ping -n 1 [адрес] | find /i "TTL=">nul
ping -n 1 [адрес] | find /i "TTL=">nul

в консоли пишет "не удалось обнаружить файл" и работа прекращается, если вместо nul написать что-либо другое - как и положено создается файл, если просто удалить - пинг отображается в консоли.

почему не распознаёт nul и как это исправить?

на других машинах с win2000 и winXP всё работает
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2014, 10:49
Ответы с готовыми решениями:

Скрытие окна консоли при выполнении батника
почему вот так получается,когда скрипт в папке с батником Dim oShell Set oShell =...

Вместо кода NUL NUL NUL NUL
Что делать? Написал частично программу, сегодня открываю код, а тут это. Что делать? Что произошло?

Настроить в службе dns windows 2003 перенаправление некоторых сайтов
Добрый день, уважаемые формучане! Как правильно прописать в dns, соответствие имен так, чтобы...

Назначение некоторых команд консоли, а также новых утилит в составе Windows 7
Просто делимся простыми примерами каждой из команд и утилит, встроенных в Windows + описание...

6
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
22.04.2014, 12:13 2
arhaan, здравствуйте!

Предположим, что Вы правильно нашли проблемный участок кода.
Что будет, если создать отдельный батник с этими командами. Падение скрипта повторится?

Вполне вероятно, что это ошибка интерпретации, которая возникает в другом месте.
Причиной могут быть лишние пробелы, другие "невидимые" специальные символы, кодировка или же реальный баг с обработкой определенной последовательности команд/сиволов.
В вашем случае проще всего будет заново пересоздать код с нуля (без копипаста).

P.S. С указанным Вами сообщением об ошибке не встречался. Надеюсь сказанное должно помочь.
0
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 4
22.04.2014, 16:54  [ТС] 3
переписал. буду посмотреть. но странно что подобное возникает только трёх машинах из ста
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
22.04.2014, 19:11 4
Есть предположение, что CMD.exe разных версий да и зависимые библиотеки тоже влияют.
В некоторых пакетах в него вносили исправления.
0
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 4
28.04.2014, 09:40  [ТС] 5
эффект тот же. пишет не удалось найти указанный файл. придётся записывать в файл
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
28.04.2014, 11:35 6
Еще может быть из-за обновлений, вернее их отсутствия.
В XP они вносили правки в CMD.exe

Больше вариантов пока нет. Нужно разбираться через TeamViewer.
0
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 4
28.04.2014, 12:29  [ТС] 7
по свойствам cmd.exe версия та же, что и на тех где работает нормально. 5.1.2600.5512 (xpsp.080413-2111)
обновления естественно все стоят. ОСи стоят на платёжно-справочных терминалах.

грех конечно на Embedded, но на других работает ведь.

З.Ы. батник нужен чтобы поднимать VPN. потому что Cisco vpn client порой глючит и сбрасывает автоматическое получение адреса на ручное и прописывает туда все 0.0.0.0
0
28.04.2014, 12:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2014, 12:29
Помогаю со студенческими работами здесь

Множество ошибок при выполнении команд
Вот батник: set JORUNAL_DIR = C:\Program Files\Avers\Journal set DIRECTOR_DIR = C:\Program...

Перенаправление ввода/вывода в Windows
Добрый день, уважаемые форумчане:)! Столкнулся со следующей проблемой. Есть откомпелированная...

Как работает перенаправление вывода в файл?
Объясните пожалуйста действия команд Echo 0>text.txt и Echo 1>text.txt первая делает файл...

Perl6 нагло врет при выполнении некоторых однострочников
Собсна, сабж. Вычитал в документации, сымитировать wc -L в "шестерке" можно так: perl6 -e "say...

При выполнении батника появляется сообщение об ошибке "Непредвиденное появление: (0."
Добрый день, вот код, при выполнении батника выскакивает вот это: Непредвиденное появление: (0....

SQLte ошибка при выполнении команд: Database file is locked
Когда я говорю SQLite выполнить мою команду: Public Function testik() Dim...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru