我想在Pascal中使用此命令。有可能吗?
for /r %i in (boom.lpi) do xcopy /Y "%i" z:\
我试过了:
exec('p:','for /r "%i" in (boom.lpi) do xcopy /Y "%i" "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"');
答案 0 :(得分:0)
您需要在shell上执行shell命令。 Exec和朋友没有标准地执行shell,因此您需要找到shell(cmd.exe或command.com,具体取决于您要运行的命令),然后使用/ c参数执行它。
最好使用Sysutils.ExecuteProcess,因为它避免了引用exec所带来的一些问题。未经测试的概念代码:
ExecuteProcess(getenvironmentvariable('comspec'),['/c',' for /r %i in (boom.lpi) do xcopy /Y "%i" z:\']);
的更新方法