4

Несколько лет назад я создал несколько консольных приложений командной строки, которые в то время работали без проблем. Я поместил бы их в директорию окна /system32 и мог бы использовать их из командной строки из любой точки моей системы (в то время Windows XP).

Сейчас я использую Windows 7 64bit, и это больше не работает. Я попытался поместить свои маленькие консольные приложения в system32 , syswow64 , Windows вниз до корня моего диска c:, но Windows продолжает выдавать тот же ответ программа или пакетный файл. "

Но! Если я нахожусь в той же директории, что и программа, она работает как задумано. Я предполагаю, что есть или проблема приложения на 32 бита /64 бита или проблема внутренней безопасности ОС.

Кто-нибудь может указать мне правильное направление здесь? Нужно ли создавать каталог в «Program Files(x86)» и добавлять этот новый каталог в среду PATH?


Дополнительное примечание: это программа, которую я создал. Это не командный файл. Программа работает как надо, когда вы находитесь в том же каталоге, что и программа, когда находитесь в окне консоли.

6 ответов6

1

Однако проще всего было бы использовать переменную окружения PATH в Windows. Он обеспечивает 100% такую же функциональность и не требует, чтобы вы помещали что-либо в каталог Windows. Есть другие вопросы, направленные на то же самое, ответы в этой теме должны помочь вам.

1

.EXE может быть удален из PATHEXT в переменной среды.

Если это так, добавьте .EXE в PATHEXT .

1

Переменная окружения для PATH не содержала ни каталога windows, ни системных каталогов. Я добавил все три пути в переменную PATH, и теперь все работает, как задумано.

Спасибо всем, кто ответил идеями, предложениями и вопросами.

0

Вы не говорите, запускаете ли вы программу из 32-битной командной строки или из 64-битной. 32-разрядный будет выглядеть в каталоге SysWOW64 (он будет называться System32), а 64-разрядный - в каталоге System32. (Это должен быть комментарий, но у меня пока недостаточно комментариев, чтобы комментировать.)

Если неясно, 64-разрядный - C:\Windows\System32\cmd.exe, 32-разрядный - C:\Windows\SysWOW64\cmd.exe. Если вы когда-либо не уверены в том, что такое бит открытости, просто запустите команду «set» и посмотрите на значение переменной среды «ProgramFiles». 64-разрядное приглашение должно отображаться как C:\Program Files, а 32-разрядное - как C:\Program Files (x86).

0

Что касается части, в которой вы получаете "не распознается как внутренняя или внешняя команда", взгляните на эту статью:

Не удается Ping получить «ping не распознается как внутренняя или внешняя команда»

0

1.> создать папку Android на диске C (C:\Android)2.> вставить debug.keystore в папку Android (C:\Android\debug.keystore)

keytool -exportcert -alias androiddebugkey -keystore "C:\Android\debug.keystore" | "C:\OpenSSL-Win32\bin\openssl.exe" sha1 -binary | «C:\OpenSSL-Win32\bin\openssl.exe» base64

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .