[CMD] echo. не является внутренней или внешней командой, исполняемой программой

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,069
Реакции
5,784
Вот такая дрянь приключилась у меня...
Никакого софта не устанавливалось, ничего не менялось, случилось внезапно при выполнении простейшего скрипта if %oop% EQU 0 (echo gg)
Перезапуск,откат и прочее не изменили ситуацию...
Причем проблема именно в этой конкретно команде))

Код:
Path=C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Program Files\AMD APP\bin\x86;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\IVT Corporation\BlueSoleil\Mobile;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\adt-bundle-windows-x86-20140624\sdk\platform-tools;C:\Program Files\Skype\Phone\;C:\Users\Fire\AppData\Local\Microsoft\WindowsApps
 
Последнее редактирование:
Там было версия системы.
Логики в переменной нет (черновой), искал просто вариант вывода ....

Код:
VER | FINDSTR /IL "6.4." > NUL
IF %ERRORLEVEL% EQU 0 ( SET Version="Windows 10"
                                          set oop=0)
:::::::::::::::::::::::::::::::::::::::::::::::::::::
if %oop% EQU 0 (echo gg)
 
У тебя пустой операнд. %oop% превращается в ничто. Должен быть хотя бы один символ.
Например:
Код:
if "%oop%" EQU "0" (echo gg)
 
Dragokas, да.
Но проблема то ... имеется все равно!
Даже если просто запустить командную строку и написать
echo.
А вот если просто echo - нет проблем...
 
Напиши в той же командной строке:
Код:
where echo

Батник случайно обозвал не:
Код:
echo.bat
?
 
Напиши в той же командной строке:
Код:
C:\WINDOWS\system32>where echo
C:\Windows\System32\echo

Следом снова пробую:

Код:
C:\WINDOWS\system32>echo.
"echo." не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Батник случайно обозвал не:
Нет!
Я даже пробую просто командную строку запустить и выполнить команду - тоже самое!
Я думал, может ты знаешь как можно отследить где затык.
Есть рабочая 10 ?
Может покажет кто что выводит set
 
C:\WINDOWS\system32>where echo
C:\Windows\System32\echo
Вот и ответ. У тебя в папке C:\Windows\System32 находится левый исполняемый файл (или батник) с именем echo (странно только, что без расширения имени).
Чему равна переменная pathext ?
Microsoft Windows [Version 10.0.15063]

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Alex\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-2
ComSpec=C:\WINDOWS\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Users\Alex
LOCALAPPDATA=C:\Users\Alex\AppData\Local
LOGONSERVER=\\DESKTOP-2
NUMBER_OF_PROCESSORS=2
OneDrive=C:\Users\Alex\OneDrive
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\Alex\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2a07
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\Alex\AppData\Local\Temp
TMP=C:\Users\Alex\AppData\Local\Temp
USERDOMAIN=DESKTOP-2
USERDOMAIN_ROAMINGPROFILE=DESKTOP-2
USERNAME=Alex
USERPROFILE=C:\Users\Alex
windir=C:\WINDOWS
 
Вот и ответ. У тебя в папке C:\Windows\System32 находится левый исполняемый файл (или батник) с именем echo (странно только, что без расширения имени).
Да, точно, удаление помогло!
Пустой, 0 размер.
Любопытный случай, учту)))

Спасибо.

Чему равна переменная pathext ?
Там все идентично.
Проблема ушла!
 
Назад
Сверху Снизу