Environment Variable unter Vista setzen für Batchscript klappt nicht so recht.
Mit folgendem Versuch bekomme ich die Environment Variable mit SET nicht angezeigt:
Das Delphiconsolenprogramm
SetEnvVar:
Delphi-Quellcode:
program SetEnvVar;
{$APPTYPE CONSOLE}
uses
Windows;
function its(i: integer): string;
begin
str(i, Result);
end;
function GetEnvVariable(Value: string): string;
var p: array [0..MAX_PATH] of Char;
begin
GetEnvironmentVariable( PCHAR(Value), p, length(p) );
result := p;
end;
BEGIN
SetEnvironmentVariable( PCHAR( ParamStr(1) ), PCHAR( its(123) ) );
Writeln(' -> SET ', ParamStr(1), ' = ', GetEnvVariable(ParamStr(1)));
END.
Die Aufrufende Batchdatei namens
Test.cmd:
Code:
@ECHO OFF
SetEnvVar TestMy
ECHO "%Test"
Die Commandlineausgabe nach dem Aufruf der
Test.cmd
Code:
C:\turboPASCAL\>test.cmd
-> SET TestMy = 123
""
C:\turboPASCAL\>