Ответ на другой мой вопрос (некоторое время назад) состоял в том, что программа, которую я использовал для запуска командной строки, выполняла 32-битную версию, если в командной строке cmd, вместо 64-битной.
(Если вы не увидели другой вопрос, я использую Windows 7, 64 бита).
Некоторое время это было прекрасно, но теперь это снова стало неприятностью.
Я пытаюсь открыть файлы (в данном случае пакетные файлы) из любого каталога, просто введя их имена. Я добавил каталог файлов в переменную PATH, чтобы это работало.
Теперь, если я открою 64-битное приглашение cmd (Run-> cmd, для каждого примера), все будет работать отлично: набрав «color-1», вы меняете цвет, указанный в файле «color-1.bat», для каждого примера.
Однако, когда используется 32-битная версия, я просто получаю сообщение "не распознано".
Итак, мне нужно, чтобы эта программа вызывала 64-битную версию командной строки. Рассматриваемая программа - PhraseExpress (без пробела), и в окне редактирования макроса я имею
{#run -file "C:\windows\system32\cmd.exe"}.
Заметьте, что я указал путь к файлу cmd.exe, который хотел, вместо того, чтобы просто написать {#run -file cmd} в надежде, что он на самом деле подходит для 64-битной версии, а не для 32-битной, но не повезло : процесс командной строки всегда 32-битный (проверено в диспетчере задач).
Я также попытался создать командный файл, который запускает cmd (на нем просто написано "cmd" - без кавычек), а затем вызывать его с помощью PhraseExpress, но я получаю тот же результат. (файл вызывает 64-битную командную строку при двойном щелчке, но 32-битную версию при вызове с PhraseExpress).
Прямо сейчас у меня заканчиваются идеи, так что ... кто-нибудь может что-то придумать?