You can do this.
Each time you open viewer, an rpy file is created showing exactly what you have done.
So if you go into viewer and create the path once and go to report/xy data and write to a file, this process is stored. Then go into the rpy file and copy out the relevant text; you can then run the same script repeatedly for different sensitivities or output variables;
For example, below, I've created a path called "Steel_OD" by specifying a node list. Then I've set the output variable to Max Principal, and written the output for that path and variable to "Data-S-1", then written that data to an output report file "Results_Base_0-5.rpt".
This is not complete, but if you keep the basic structure of the original rpy file, you can automate almost all post processing activities.
Copy the relevant text into a .py file, then run using a batch file. You can add multiple .py viewer files to this batch run so they will go one after another. For me, the startup command would be:
C:\apps\Abaqus\6.10-1\exec\abq6101.exe viewer replay=Test1
C:\apps\Abaqus\6.10-1\exec\abq6101.exe viewer replay=Test2
The exporting bit can be automated using a macro in excel to open and write the data from the .rpt files.
session.Path(name='Steel_OD', type=NODE_LIST, expression=(('STEEL_MP-1', (22,
'5178:1593:-1', 1, '1281:823:-1', 7, '1460:1282:-1', 8, '1592:1461:-1', 9,
)), ))
session.viewports['Viewport: 1'].odbDisplay.setPrimaryVariable(
variableLabel='S', outputPosition=INTEGRATION_POINT, refinement=(INVARIANT,
'Max. Principal'))
pth = session.paths['Steel_OD']
session.XYDataFromPath(name='Data-S-1', path=pth, includeIntersections=False,
shape=DEFORMED, labelType=TRUE_DISTANCE_Y)
x0 = session.xyDataObjects['Data-S-1']
session.xyReportOptions.setValues(layout=SEPARATE_TABLES)
session.writeXYReport(fileName='Results_Base_0-5.rpt', xyData=(x0))