2 bugs : change d[[i]] by d and use a new output file for each input.
fileName <- strsplit(a[i],split='\\.')[[1]][1]
outputFile <- paste(fileName,'_amenlast','.envi',sep='')
rf <- writeRaster(d, filename=outputFile, overwrite=TRUE)
PS : I keep overwrite=TRUE , that means if you launch your loop next time it erase previous generated file.