Your crash is because one of the "Layers" returned from ListLayers() does not support the data source property! As seen in the error messagge :
NameError: The attribute 'dataSource' is not supported on this instance of Layer.
A basic reason for this could be because you have "Group" layers setup in your table of contents... these are classed as layers and returned by the ListLayers() function, these obviously have no "DataSource" property, so would cause the crash you see.
Im not sure of the 'proper way' to catch this, but I think this should work (Not tested sorry!):
try:
if lyr.dataSource == r"D:\PROJECTS\zfonGivatShmuel\gis\layers\6_9_15\gvul.shp":
arcpy.mapping.RemoveLayer(df, lyr)
print 'remove'
except:
arcpy.AddMessage("Layer skipped as does not support dataSource property, layer name: " + lyr.name)
Or the full revised script:
import arcpy,os,sys
import arcpy.mapping
from arcpy import env
env.workspace = r"C:\Project"
counter = 0
for mxdname in arcpy.ListFiles("*.mxd"):
print mxdname # print list of mxd's in the folder
mxd = arcpy.mapping.MapDocument(r"C:\Project\\" + mxdname)
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
for lyr in arcpy.mapping.ListLayers(mxd, "", df):
try:
if lyr.dataSource == r"D:\PROJECTS\zfonGivatShmuel\gis\layers\6_9_15\gvul.shp":
arcpy.mapping.RemoveLayer(df, lyr)
print 'remove'
except:
arcpy.AddMessage("Layer skipped as does not support dataSource property, layer name: " + lyr.name)
mxd.save()
del mxd