Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.


zincj

19 posts

Geek


#17853 14-Dec-2007 19:38
Send private message

Hi guys,

HEEEELLLP!
Using Windows batch scripting I am trying to rename all files in a folder.
Here's an example of what I'm trying to achieve:

filename_1234.txt to MONDAY_1234.txt
filenamea_9876.txt to MONDAY_9876.txt
filenameab_2222.txt to MONDAY_2222.txt


so basically I want to replace the old file name (which is variable length) with a fixed name for all files but keeping the numbers after the '_' . This has to be done via a batch script- using no other languages or utilities.
Any ideas??

Create new topic
chemuduguntar
5 posts

Wannabe Geek


#101749 25-Dec-2007 12:00
Send private message

I would highly recommend you use python, as there is nothing to be gained by learning windows batch scripting (or bash scripting for that matter):

  1 #!/usr/bin/python
  2
  3 import os
  4 import datetime
  5
  6 files = os.listdir(".")
  7
  8 for file in files:
  9         if (file.endswith(".txt")):
 10                 suffix = file.split('_')[1]
 11                 os.rename(file, "Monday_" + suffix)
 12

Assuming you are making a backup/archiving application, you can easily do some sophisticated things like automatically detect day of week instead of hard coding it in like above, you can also easily do something like zip up the files for the day and move them to another location (ftp/email) etc all from within this neat scripting environment.

Hope this helps,

Ravi

Create new topic








Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.