cmd - Det er muligt at køre denne Windows-kommando med Pascal?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil bruge denne kommando med Pascal. Er det muligt?


for /r \%i in (boom.lpi) do xcopy /Y "\%i" z:


Jeg prøvede dette:


exec('p:','for /r "\%i" in (boom.lpi) do xcopy /Y "\%i" "\%userprofile\%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup"');  

Bedste reference


Du skal udføre shell kommandoer over skallen. Exec og venner udfører normalt ikke en skal, så du skal finde skallen (cmd.exe eller command.com, afhængigt af de kommandoer, du vil køre) og derefter udføre den med a/c-parameter.


Det er bedst at bruge Sysutils.ExecuteProcess, da det undgår nogle af problemerne med citerer, at exec har. Ikke testet konceptkode:


 ExecuteProcess(getenvironmentvariable('comspec'),['/c',' for /r \%i in (boom.lpi) do xcopy /Y "\%i" z:']);


Du vil muligvis gerne børste op på nyere måder at udføre programmer i Free Pascal [4]