If you want all the integrations to happen or none, then this is what atomic changelists are for. Put all your integrations in one changelist and either it'll all get submitted or none of it will.
If you do want to do them separately, you shouldn't need to persist the output of the p4 files
command. The label will still be on the old revisions after the integration so the p4 files
command should still produce the same output.
If you really do need to persist the output, you could just check it into Perforce. Make some area like //depot/integration-records
and check each file in to e.g. //depot/integration-records/component-n.txt
as it is produced. You can put the addition of the file on the changelist that integrates component-n
so that the presence or absence of the file would indicate whether the integration has been done or not.