S
Stuart Clarke
Hey,
I have a real head ache and would really appreciate any advice.
I have a folder with 100,000's of files within it and I need to run a
rename process across these.
def renameFile(oldID, newID)
Find.find(@pdfDIR) do |curItem|
if File.file?(curItem) and curItem[/.pdf$/i] and
File.basename(curItem)[/^T/i] #If the file is
valid, is a PDF and it has not been renamed with T on the front
else
if File.basename(curItem.to_s.strip) == oldID
File.rename(curItem.to_s.strip, "#{@pdfDIR }\\T#{newID}.pdf")
#rename the exprted PDF file to the new filename with T on the front
end
end
end
end
My main code basically reads the 2 pieces of data from a CSV file, first
the current filename of the file and then the new filename I want to
rename the file to. In summary, i grab the old and new filenames from a
CSV file one at a time then call the above object where I search the
given directory for a filename that matches the old file name, when I
find it I rename it to the new name.
My issue is this is very very slow and is taking about an hour to do 10
file renames. Is there any way I can speed this up?
Many thanks
Stuart
I have a real head ache and would really appreciate any advice.
I have a folder with 100,000's of files within it and I need to run a
rename process across these.
def renameFile(oldID, newID)
Find.find(@pdfDIR) do |curItem|
if File.file?(curItem) and curItem[/.pdf$/i] and
File.basename(curItem)[/^T/i] #If the file is
valid, is a PDF and it has not been renamed with T on the front
else
if File.basename(curItem.to_s.strip) == oldID
File.rename(curItem.to_s.strip, "#{@pdfDIR }\\T#{newID}.pdf")
#rename the exprted PDF file to the new filename with T on the front
end
end
end
end
My main code basically reads the 2 pieces of data from a CSV file, first
the current filename of the file and then the new filename I want to
rename the file to. In summary, i grab the old and new filenames from a
CSV file one at a time then call the above object where I search the
given directory for a filename that matches the old file name, when I
find it I rename it to the new name.
My issue is this is very very slow and is taking about an hour to do 10
file renames. Is there any way I can speed this up?
Many thanks
Stuart