Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] MSG не является внутренней или внешней командой (при запуске из пакетного файла)

Ответить
Настройки темы
CMD/BAT - [решено] MSG не является внутренней или внешней командой (при запуске из пакетного файла)

Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: rar test.rar
(212 байт, 20 просмотров)
Почему команда MSG из под интерпретатора работает нормально (ПУСК -> Выполнить -> CMD), а
из под CMD-файла выдает: "MSG не является внутренней или внешней командой, исполняемой программой или пакетным файлом"?

Какие варианты только не пробовал (с расширенной обработкой и без нее):

Код: Выделить весь код
setlocal EnableExtensions
msg
start "MSG" msg %username% Text
cmd /e:on /c msg * /server:127.0.0.1 /v /w /time:0 Text
pause
Здесь строка № 1 - опционально (пробовал с ней и без нее).
Строки 2,3,4 - альтернативы.

Все работает только при ручном наборе в ком. строке (Пуск -> Выполнить -> CMD)

P.S. OS Win7 x64 Ultimate ru
Симптом себя проявляет только если запускать скрипт двойным кликом по файлу (от имени Администратора или без).

Отправлено: 01:43, 09-08-2012

 


Moderator


Сообщения: 53482
Благодарности: 15510

Профиль | Отправить PM | Цитировать


[решено] 'chcp" не является внутренней командой или глюки cmd

Отправлено: 09:43, 09-08-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 280
Благодарности: 72

Профиль | Отправить PM | Цитировать


а не пробовал просто сделать msg.exe

Отправлено: 11:37, 09-08-2012 | #3


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


В файле из архива не работает, а заменив там на код приведенный тобой результат такой:

запускал двойным кликом.

Отправлено: 16:35, 09-08-2012 | #4


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, посмотрел тему. У меня все верно.

Содержимое Path
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\ System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\DMIX;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\WebServers\mysql\bin;C:\WebServers\usr\local\mysql-5.1\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\

Ветка Path с типом REG_EXPAND_SZ.
Команды CHCP и все другие мыслимые работают нормально.
А на MSG выдает "Не знаю я такой команды".

И зачем собственно Path? Ведь MSG - не файл, а внутренняя команда, как я понимаю.

Molchune, Да, пробовал. MSG.exe через CMD работает, через Сall Test.bat из-под этого CMD тоже.
Через клик по файлу - нет.

-------
Alex Dragokas


Отправлено: 04:23, 10-08-2012 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Diskretor:
И зачем собственно Path? Ведь MSG - не файл, а внутренняя команда, как я понимаю. »
Неправильно понимаете. Внешняя.

читать дальше »
Код: Выделить весь код
╔═════════════════ C:\WINDOWS\system32 ═══╤════════╤═06:49
║и              Имя                │Размер│  Дата  │Время║
║ msexch40                      dll│518944│02.04.07│18:17▲
║ msexcl40                      dll│326432│02.04.07│18:18░
║ msftedit                      dll│539136│14.04.08│21:40░
║►msg                           exe│ 21504│20.10.01│16:00░
║ msg711                        acm│  9216│20.10.01│16:00▓
║ msg723                        acm│118784│20.10.01│16:00░
║ msgina                        dll│ 977 К│14.04.08│21:40░
║ msgsm32                       acm│ 19968│20.10.01│16:00▼
╟──────────────────────────────────┴──────┴────────┴─────╢
║►msg.exe                                                ║
╚═════════ 619,323,367 (2351) ═══ 8,314,589,184 ═════════╝

Отправлено: 06:50, 10-08-2012 | #6



Moderator


Сообщения: 53482
Благодарности: 15510

Профиль | Отправить PM | Цитировать


Цитата Diskretor:
из под CMD-файла выдает: "MSG не является внутренней или внешней командой
Выложите лог Process Monitor при запуске CMD-файла (меню File -> Save -> CSV-формат) в архиве на любой файлообменник.

Цитата Iska:
Внешняя
Кстати, посмотрел в Windows 7 x64 - там Msg.exe есть в папке \Windows\System32, но нет в \Windows\SysWOW64.

Цитата Diskretor:
Симптом себя проявляет только если запускать скрипт двойным кликом по файлу
Запускаете его из проводника?
А не из 32-битного файлового менеджера (типа Total Commander).
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:01, 10-08-2012 | #7


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Цитата Petya V4sechkin:
А не из 32-битного файлового менеджера (типа Total Commander). »
Именно.

Запуск из под проводника решил проблему.
Что же там такого в TC?

Странно, что с этим Total Commander не так. В проводнике и поиске Windows программу msg.exe видно,
а в проге TC нет и ее поиск не находит.

... решил запуском х64-редакции TC.

Последний раз редактировалось Dragokas, 11-08-2012 в 02:53.


Отправлено: 02:07, 11-08-2012 | #8



Moderator


Сообщения: 53482
Благодарности: 15510

Профиль | Отправить PM | Цитировать


Цитата Diskretor:
В проводнике и поиске Windows программу msg.exe видно,
а в проге TC нет и ее поиск не находит
32-битная программа в принципе не видит папку \Windows\System32 в 64-битной системе.
Почитайте о WOW64. Когда 32-битная программа пытается обратиться к \Windows\System32, операционная система перенаправляет ее в \Windows\SysWOW64 (там находятся 32-битные библиотеки и утилиты).
Как уже было сказано:

Цитата Petya V4sechkin:
посмотрел в Windows 7 x64 - там Msg.exe есть в папке \Windows\System32, но нет в \Windows\SysWOW64
Можно взять Msg.exe из 32-битной системы и скопировать в папку \Windows\SysWOW64.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:54, 11-08-2012 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] MSG не является внутренней или внешней командой (при запуске из пакетного файла)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - [решено] bcdedit не является внутренней или внешней командой mydocalm Microsoft Windows 7 30 26-09-2023 05:40
[решено] ["ipconfig" не является внутренней или внешней командой...???] zima5555 Хочу все знать 15 16-01-2016 02:10
Разное - [решено] не работает командная строка /ошибка: не является внутренней программой/ DRED SWAT Microsoft Windows 2000/XP 22 25-07-2012 23:06
CMD/BAT - [решено] 'chcp" не является внутренней командой или глюки cmd Starter1 Скриптовые языки администрирования Windows 3 03-11-2011 17:10
Проблема при запуске пакетного файла paland Автоматическая установка Windows 2000/XP/2003 1 02-10-2006 15:17




 
Переход