On Thu, May 21, 2015 at 1:14 PM, David Golden <[email protected]> wrote:
> First, I'd want someone to check if it returns %USERPROFILE% exactly or some
> path under it.
Only tested on Win7; is seems to append a backslash to it:
Z:\>type gettemppath.pl
use strict;
use warnings;
use Win32::API;
print "$_=$ENV{$_}\n" for qw(TMP TEMP USERPROFILE);
delete $ENV{$_} for qw(TMP TEMP);
my $GetTempPath = new Win32::API('kernel32', 'GetTempPath', 'NP', 'N') or die;
my $buffer = " " x 280;
my $len = $GetTempPath->Call(length $buffer, $buffer);
print substr($buffer, 0, $len), "\n";
Z:\>perl gettemppath.pl
TMP=C:\Users\gecko\AppData\Local\Temp
TEMP=C:\Users\gecko\AppData\Local\Temp
USERPROFILE=C:\Users\gecko
C:\Users\gecko\
And tested separately, it will normalize forward slashes to backslashes as well.
Cheers,
-Jan