我想执行一个名为'copy.bat'的外部程序,位于我的桌面'C:\ Users \ Jack \ Desktop \ RunProgram \ lib \ x86_64-win64'。如果我想在其他人的Compter / Account上运行程序,其中'copy.bat'在同一个文件夹中,它不起作用,因为用户名更改。 我的问题:有没有办法使用可变用户名?
这是我提出的但它不起作用......
var
Form1: TForm1;
Runprogram:TProcess;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
RunProgram := TProcess.Create(nil);
RunProgram.CommandLine := '%USERPROFILE%\Desktop\RunProgram\lib\x86_64-win64\Copy.bat';
RunProgram.Execute;
RunProgram.Free;
end;
P.S。如果我输入此路径'C:\ Users \ Jack \ Desktop \ RunProgram \ lib \ x86_64-win64 \ Copy.bat'它可以工作。
答案 0 :(得分:0)
您可以使用功能" GetEnvironmentVariable"
userP := GetEnvironmentVariable(String('USERPROFILE'));
RunProgram.CommandLine := userP + '\Desktop\RunProgram\lib\x86_64-win64\Copy.bat';