ah...... but did you close/open the filesystem object each time?

Keep this bit running:
Set fs = CreateObject("Scripting.FileSystemObject")

Only reset this bit.
Set f = fs.GetFile(strOld)

No need to set x = nothing each time, just re-allocate the
variable, clean up at the end.