From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta002.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) by sourceware.org (Postfix) with ESMTPS id 840E33858D28 for ; Tue, 23 Nov 2021 18:07:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 840E33858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=systematicsw.ab.ca Received: from shw-obgw-4003a.ext.cloudfilter.net ([10.228.9.183]) by cmsmtp with ESMTP id pYO4mMNi0ztEjpaCMmt90e; Tue, 23 Nov 2021 18:07:18 +0000 Received: from [192.168.1.105] ([68.147.0.90]) by cmsmtp with ESMTP id paCLmTQarmX1kpaCLmDRY7; Tue, 23 Nov 2021 18:07:17 +0000 X-Authority-Analysis: v=2.4 cv=Fe4keby6 c=1 sm=1 tr=0 ts=619d2dd5 a=T+ovY1NZ+FAi/xYICV7Bgg==:117 a=T+ovY1NZ+FAi/xYICV7Bgg==:17 a=IkcTkHD0fZMA:10 a=TImcKGuyeGIbufSLrCcA:9 a=QEXdDO2ut3YA:10 Message-ID: <87a6c5cf-e34a-1dd4-eeee-5e9085a7558d@SystematicSw.ab.ca> Date: Tue, 23 Nov 2021 11:07:17 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Reply-To: cygwin@cygwin.com Subject: Re: Program files environmental variables Content-Language: en-CA To: cygwin@cygwin.com References: <693ff161-60af-7e60-7325-ce0f2b42acc0@mail.com> From: Brian Inglis Organization: Systematic Software In-Reply-To: <693ff161-60af-7e60-7325-ce0f2b42acc0@mail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfN0Y/tXuV2tAFtY5EBVUHhsf6dWT9RxMw6YwIHj/tM33V0nEClaN6TsTTMIcRp+0lOPka77/7U1E4jAb0DI9jWf8d3g6o1UisDX7nbEfQl8VwJAqRb8r e406mUHbbSuLg9sSQ8aOppxzjV37aI4/BA5jMq4+QycUKPPCxwHW/usn6itEHafLOgcbG7YkUrjlhoWBKRG54BUjq3KKbXeCc+o= X-Spam-Status: No, score=-1165.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Nov 2021 18:07:20 -0000 On 2021-11-23 02:02, john doe via Cygwin wrote: > Cygwins, > > Is there a way to get the value of PROGRAMFILES(x86) and PROGRAMW6432 in > Bash: > > $ echo $PROGRAMFILES; echo "$PROGRAMFILES(x86)"; echo $PROGGRAMW6432 > C:\Program Files > C:\Program Files(x86) > > $ cmd.exe /C "echo %PROGRAMFILES% %PROGRAMFILES(x86)% %PROGRAMW6432%" > C:\Program Files C:\Program Files (x86) C:\Program Files > > > PROGRAMFILES works in Bash but not the other two. > > I could not find anything relevent in the archive or when googling. On my system under only the following Program... variables are exposed: $ echo $ProgramData $PROGRAMFILES $ProgramW6432 # x64 C:\ProgramData C:\Program Files C:\Program Files $ echo $ProgramData $PROGRAMFILES $ProgramW6432 # x86 C:\ProgramData C:\Program Files (x86) C:\Program Files It is often a better idea to use cygpath options or Windows folder ids: "System information: -A, --allusers use `All Users' instead of current user for -D, -P -D, --desktop `Desktop' directory -H, --homeroot `Profiles' directory (home root) -O, --mydocs `My Documents' directory -P, --smprograms Start Menu `Programs' directory -S, --sysdir system directory -W, --windir `Windows' directory -F, --folder ID special folder with numeric ID" $ for f in {0..64}; do p=`cygpath -UF $f 2> /dev/null` && [ -n "$p" ] && echo $f $p done # sanitized 0 $HOME/Desktop 2 $HOME/AppData/Roaming/Microsoft/Windows/Start Menu/Programs 5 $HOME/Documents 6 $HOME/Favorites 7 $HOME/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup 8 $HOME/AppData/Roaming/Microsoft/Windows/Recent 9 $HOME/AppData/Roaming/Microsoft/Windows/SendTo 11 $HOME/AppData/Roaming/Microsoft/Windows/Start Menu 13 $HOME/Music 14 $HOME/Videos 16 $HOME/Desktop 19 $HOME/AppData/Roaming/Microsoft/Windows/Network Shortcuts 20 /proc/cygdrive/c/Windows/Fonts 21 $HOME/AppData/Roaming/Microsoft/Windows/Templates 22 /proc/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu 23 /proc/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu/Programs 24 /proc/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp 25 /home/Public/Desktop 26 $HOME/AppData/Roaming 27 $HOME/AppData/Roaming/Microsoft/Windows/Printer Shortcuts 28 $HOME/AppData/Local 29 $HOME/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup 30 /proc/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp 31 $HOME/Favorites 32 $HOME/AppData/Local/Microsoft/Windows/INetCache 33 $HOME/AppData/Local/Microsoft/Windows/INetCookies 34 $HOME/AppData/Local/Microsoft/Windows/History 35 /proc/cygdrive/c/ProgramData 36 /proc/cygdrive/c/Windows 37 /proc/cygdrive/c/Windows/System32 38 /proc/cygdrive/c/Program Files 39 $HOME/Pictures 40 $HOME 41 /proc/cygdrive/c/Windows/SysWOW64 42 /proc/cygdrive/c/Program Files (x86) 43 /proc/cygdrive/c/Program Files/Common Files 44 /proc/cygdrive/c/Program Files (x86)/Common Files 45 /proc/cygdrive/c/ProgramData/Microsoft/Windows/Templates 46 /home/Public/Documents 47 /proc/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu/Programs/Administrative Tools 48 $HOME/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Administrative Tools 53 /home/Public/Music 54 /home/Public/Pictures 55 /home/Public/Videos 56 /proc/cygdrive/c/Windows/Resources 59 $HOME/AppData/Local/Microsoft/Windows/Burn/Burn These output nothing: $ printenv 'Program Files (x86)' $ printenv 'ProgramFiles(x86)' -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in binary units and prefixes, physical quantities in SI.]