Erzwingen, dass das Programm (Phraseexpress) die 64-Bit-Eingabeaufforderung öffnet

3605
Sampaio

Die Antwort auf meine andere Frage (vor einiger Zeit) war, dass ein Programm, das ich zur Ausführung einer Eingabeaufforderung verwendete, die 32-Bit-Version der cmd-Eingabeaufforderung anstelle der 64-Bit-Version ausführte.

(Falls Sie die andere Frage nicht gesehen haben, verwende ich Windows 7, 64-Bit).

Das war eine Zeitlang in Ordnung, aber jetzt ist es wieder ein Ärgernis geworden.

Ich versuche, Dateien (Batch-Dateien, in diesem Fall) von einem beliebigen Verzeichnis aus zu öffnen, indem Sie einfach deren Namen eingeben. Ich habe das Verzeichnis der Dateien der Variablen PATH hinzugefügt, damit dies funktioniert.

Wenn ich jetzt eine 64-Bit-Eingabeaufforderung für ein Cmd-Objekt (Run-> cmd, pro Beispiel) öffne, funktionieren die Dinge einwandfrei: Wenn Sie "color-1" eingeben, ändert sich die in der Datei "color-1.bat" angegebene Farbe.

Wenn jedoch die 32-Bit-Version verwendet wird, erhalte ich nur die Meldung "nicht erkannt".

Ich muss also dieses Programm dazu bringen, die 64-Bit-Version der Eingabeaufforderung aufzurufen. Das fragliche Programm ist PhraseExpress (kein Leerzeichen) und in der Makro-Editionsbox habe ich

{#run -file "C: \ windows \ system32 \ cmd.exe"}.

Hinweis Ich habe den Pfad der cmd.exe-Datei angegeben, die ich wollte, anstatt nur {#run -file cmd} zu schreiben, in der Hoffnung, dass die 64-Bit-Version tatsächlich verwendet würde und nicht die 32-Bit-Version, aber dort kein Glück : Der Eingabeaufforderungsprozess ist immer 32 Bit (im Task-Manager geprüft).

Ich habe auch versucht, eine Batch-Datei zu erstellen, die cmd ausführt (die Datei hat einfach "cmd" -no quototes- geschrieben) und dann mit PhraseExpress aufgerufen, aber ich erhalte das gleiche Ergebnis. (Die Datei ruft beim Doppelklick eine 64-Bit-Eingabeaufforderung auf, beim Aufruf mit PhraseExpress jedoch eine 32-Bit-Version).

Im Moment laufen mir die Ideen aus, also ... kann sich jemand etwas einfallen lassen?

0

1 Antwort auf die Frage

1
Ƭᴇcʜιᴇ007

Ich denke, Sie haben einfach keine Batch-Dateien in einem Pfad, den beide Befehlsumgebungen gemeinsam nutzen. Wenn der Inhalt der Batchdatei nicht 64-Bit-spezifisch ist, sollten Sie den Pfad in beiden / allen Umgebungen so einrichten, dass sie in beiden ausgeführt werden, anstatt zu versuchen, dieses Programm dazu zu bringen, die gewünschte cmd.exe zu verwenden.

Aber um Ihre Frage direkt zu beantworten ...

Da system32 für 32-Bit-Programme transparent zu sysWOW64 umgeleitet wird, wurde eine Möglichkeit zum Zugriff auf den system32-Ordner hinzugefügt, der in der Systemarchitektur (64-Bit) enthalten ist - dem "echten" system32-Ordner.

Versuchen Sie es mit " sysnative " zu referenzieren .

dh: {#run -file "%WINDIR%\sysnative\cmd.exe"}

For the first part, I could do that, but there are other things I'm working on in which a 64bit cmd prompt is helpful. The sysnative reference worked, making the program call a 64bit cmd prompt. However, and this may be unrelated, the variable PATH in the called terminal is different than the variable PATH in one called using Run->cmd: it lacks the path I added in Advanced System Settings->Environment Variables. Is there another way I can alter the value of PATH?(I tried PATH=*my_path*, but it only works until I close that particular cmd prompt)btw,If this is unrelated, I'll accept the answer. Sampaio vor 10 Jahren 0
@Sampaio Are you sure? Here the changes in PATH, via "Advanced System Settings->Environment Variables", both user and system, are reflected in `%windir%\System32\cmd.exe` and `%windir%\SysWOW64\cmd.exe`. Try starting them both via run and check `set path`. Rik vor 10 Jahren 1
Die Änderungen haben endlich begonnen und alles ist gut. Ich habe es kurz nach dem Einschalten des PCs getestet, nachdem ich es letzte Nacht ausgeschaltet hatte und seitdem ausgeschaltet war. Ich habe damals einen Neustart versucht, aber ich glaube, der Computer dachte nicht, dass es eine lange genug Pause war oder so ... Jedenfalls wurden Probleme gelöst, die Antwort wurde akzeptiert. Danke für die Hilfe. Sampaio vor 10 Jahren 0
Computer brauchen auch Schlaf ;-) Rik vor 10 Jahren 0