我使用下面的代码将这三个参数从delphi传递到bat文件:
CommandLine := Format('cmd.exe /c "d:\run.bat %s"', [Email, StartDate, EndDate]);
run.bat文件本身包含:
@echo off
cls
D:
cd \test
"C:\PHP\php.exe" index.php %3
我要做的是从Delphi调用bat文件并传递三个参数。 bat文件本身执行一个php文件,我需要传递这三个参数并通过$argv
访问它们。使用此代码我无法做到这一点。你能帮我指出我做错了吗?
答案 0 :(得分:1)
如果你想传递三个参数,它们都应该出现在生产和消费方面,如下所示:
CommandLine := Format('cmd.exe /c "d:\run.bat %s %s %s"', [Email, StartDate, EndDate]);
(假设StartDate和EndDate是字符串,根据需要进行相应调整)和批处理文件
@echo off
cls
D:
cd \test
"C:\PHP\php.exe" index.php %1 %2 %3
%1表示"第一个命令行参数",%2"第二个",依此类推。