To extend Mitch's answer, if your data is in a geodatabase rather than a folder, try the code below.
import arcpy
file_name_field = 'FNAME'
input_gdb_or_folder = r'c:\my.gdb'
arcpy.env.workspace = input_gdb_or_folder
feature_classes = arcpy.ListFeatureClasses()
for fc in feature_classes:
print(fc)
existing_fields = [f.name for f in arcpy.ListFields(fc)]
if file_name_field not in existing_fields:
arcpy.management.AddField(fc, file_name_field, 'TEXT', field_length=200)
with arcpy.da.UpdateCursor(fc, [file_name_field]) as uc:
for row in uc:
uc.updateRow([str(fc)])
del row, uc
Filip.