Maybe something like this?
NamesDefaultToHere(1);
// Make some tables, save and close them, but keep a list
n = 4;
fList = {};
for(t=1, t<=n, t++,
fName = "Table "||Char(t)||".jmp";
dt = NewTable(fName, NewColumn("Data", Formula(RandomInteger(10))));
dt << AddRows(20);
InsertInto(fList, fName);
Close(dt, Save("$DESKTOP/"||fName));
);
// Open the tables in the list and add the column
for(t=1, t<=NItems(fList), t++,
fName = fList[t];
dt = Open("$DESKTOP/"||fName);
colVals = {};
for(r=1, r<=NRow(dt), r++,
InsertInto(colVals, fName);
);
dt << NewColumn("File Name", Character, Values(colVals));
DeleteFile("$DESKTOP/"||fName);
);