%PROGRAMFILES(x86)% gebruiken op Windows OS 32bit

Wat gebeurt er als ik de omgevingsvariabele %PROGRAMFILES(x86)%gebruik op een Windows-besturingssysteem dat 32-bits is (dwz oudere versies van Windows zoals Windows XP, Vista)?

Ik hoop dat het eenvoudig zal worden opgelost in: C:/Program Files. Zal dit gebeuren?


Antwoord 1, autoriteit 100%

Volgens volgensde omgevingsvariabele %PROGRAMFILES(x86)%is alleen beschikbaar op 64-bits systemen.

Als je echter een 64-bits systeem hebt en %PROGRAMFILES%gebruikt, hangt het resultaat af van het feit of het proces dat de omgevingsvariabele opvraagt 32-bits of 64-bits is.

Dus van een 64-bits proces op een 64-bits systeem zou je C:\Program Fileskrijgen, van een 32-bits proces op een 64-bits systeem zou je C:\Program Files (x86), en van een 32-bits proces op een 32-bits systeem zou je C:\Program Fileskrijgen.

Als dit niet helpt, kun je misschien je oorspronkelijke vraag becommentariëren of bewerken om specifieker te maken wat je probeert te doen. Zoals het er nu uitziet, is het antwoord op uw vraag “Nee”.


Antwoord 2, autoriteit 6%

Keith Hillheeft deze vraag beantwoord hier, samenvatting:

${env:ProgramFiles(x86)}is niet gedefinieerd op een 32-bits machine

Als u altijd gegevens naar/van de x86-directory wilt plaatsen/halen, dan kunt u deze code gebruiken om bestandspaden te bepalen:

$file = "\file"
if ("${Env:ProgramFiles(x86)}")
{
    $fullPath = "${Env:ProgramFiles(x86)}\$file"
}
else
{
    $fullPath = "${Env:ProgramFiles}\$file"
}

Antwoord 3, Autoriteit 4%

Sinds %ProgramFiles(x86)%is niet gedefinieerd op Windows 7 32-bit, hier is een tijdelijke oplossing die ik bedacht:

SET MyPath="%ProgramFiles(x86)%\MyFolder\MyApplication.exe"
rem workaround for Windows7 32 bit:
IF NOT DEFINED ProgramFiles(x86) SET MyPath="%PROGRAMFILES%\MyFolder\MyApplication.exe"

Gebruik Case: ik wil een applicatie bellen vanuit een batchbestand dat is geïnstalleerd:

  • op Windows 7 32-bits in C: \ Program Files \ MyFolder \ MyAPPLICATIE.EXE
  • op Windows 7 64 Bit in C: \ Program Files (X86) \ MyFolder \ MyAPPLication.exe

Op deze manier %MyPath%wijst altijd naar het juiste pad.


Antwoord 4

Als u %programfiles%op een 32-bits computer / laptop gebruikt, wordt het C:\Program Filesgeopend.

Als u %programfiles%op een 64-bits computer / laptop gebruikt, wordt het C:\Program Filesopenen.

Als u een 64-bits programma hebt geïnstalleerd op een 32-bits computer / laptop, wordt deze geïnstalleerd in een nieuwe map met de naam Program Files (x64), die zich in de “C bevindt ” rit. In welk geval moet u %programfiles(x64)gebruiken.

Als u een 32-bits programma hebt geïnstalleerd op een 64-bits computer / laptop, wordt deze geïnstalleerd in een nieuwe map met de naam Program Files (x86), die zich in de “C bevinden ” rit. In welk geval moet u %programfiles(x86)gebruiken.

Other episodes