Rename Files in a list

I need help.
The code below compiles, it runs but doesn't rename the files. Can someone test it and tell me where I went wrong!
The value of result is always false. The variable fileToRename returns me false i.e not a file and also not a directory????
Thanks in advanced
import java.io.*;
public class  TestFileReader
     public static void main(String[] args)
           File myDir = new File("C:\\Temp");
File [ ] files = getAllFiles(myDir,".java");
BufferedReader br = null;
String line;
File fileToRename = null;
try {
for (int i = 0; i < files.length ;i++ ) {
File f = files;
br = new BufferedReader(new FileReader(f));
while ((line = br.readLine()) != null) {
// System.out.println(line);
int dot = f.getName().lastIndexOf('.');
String newFileName = f.getName().substring(0, dot) + i + f.getName().substring(dot);
// Create a directory
File f1 = new File("C:\\Temp\\tmp") ;
//create a new File to this directory
fileToRename = new File(f1, newFileName);
boolean result = f.renameTo(new File ( f1, f.getName()));
if (result) {
System.out.println("File renamed : " + newFileName);
br.close();
catch (IOException e)
          e.printStackTrace();
public static File [ ] getAllFiles(File  filePath, final String filter)
  File  [ ] files = null;
  if (filter != null)
     if (filePath != null && filePath.isDirectory())
        files = filePath.listFiles(new FilenameFilter()
           public boolean accept(File dir, String name)
  File file = new File(dir.getPath()+ File.separator + name);
/**if (file.isDirectory())
return true;
return false; */
return name.toLowerCase().endsWith(filter);
       return files;
  else
       if (filePath != null && filePath.isDirectory())
        files = filePath.listFiles(new FileFilter()
           public boolean accept(File fileName)
      return fileName.isFile();
   return files;

first, you should make sure that the directory C:\\Temp\\tmp exists, so do this
File f1 = new File("C:\\Temp\\tmp") ;
f1.mkdirs();Second, you have some test code above that opens the file, for debugging purposes one would guess. But you don't close the file. Because of this, java is unable to move it.
If you comment out
//    br = new BufferedReader(new FileReader(f));
//    while ((line = br.readLine()) != null)  {
      // System.out.println(line);
//    }it should work

Similar Messages

  • Renaming files using a list of names in a txt or csv file

    Hello everyone,
    I'm trying to use AppleScript (although I'm a total noob to it) to rename the files in a folder (if possible using something like this - set folder to choose folder) to coincide to a list of names (in a txt or csv - can be any extension needed).
    To paint the picture clearer I'll have something like this
    Files_as_they_are
    Files_renamed
    01.mkv
    Valar Dohaeris.mkv
    02.mkv
    Mhysa.mkv
    Here is what I've tryed so far : (some point through the night I've tryed to repeat part of the process thus the "fcount" but the result was even worse)
    set theFolder to choose folder
    set ep to {"Valar Dohaeris", "Dark Wings, Dark Words"}
    set fcount to 1
    tell application "Finder"
      set name of file fcount of theFolder to item fcount of ep
    end tell
    set fcount to fcount + 1
    Tnx in advance...

    This will work with a comma separated text file,
    i.e.:
         Files as the are, Files Renamed
         01.mkv, Valar Dohaeris.mkv
         02.mkv, Mhysa.mkv
    Note that if the file to be renamed exists, it will be overwritten (A test can be added to skip if exists if needed)
    set theFoler to POSIX path of (choose folder with prompt "Choose folder with Files" default location path to desktop)
    set theFile to POSIX path of (choose file with prompt "Choose TXT file" default location path to desktop)
    do shell script "
    cd " & quoted form of theFoler & "
    while read line  
    do  
         OldImageName=${line%,*}
         NewImageName=${line#*,}
         if [ -e \"$OldImageName\" ] ; then
              mv \"$OldImageName\" \"$NewImageName\"
         else
              echo \"$OldImageName\" >> ~/Desktop/Errors.txt
         fi
    done < " & quoted form of theFile & "

  • PSE6  Date listed twice in  organiser  - after rename files

    In Photoshop 6 downloader I put name and date taken in rename files - this gives me the imformation I require in Windows - My Pictures ie name and date, how can I prevent the date listing in Photoshop organiser before and after the file name?
    Is it possible in organiser to auto hide the task pane instead of having to go to window hide task pane every time?
    How can I tone down the horid dark background?
    Barry.

    What did you wind up turning off? I keep looking at the options, but I can't figure it out. The things that seem closest is the one in general about keeping the iTunes music folder organized and copying files, but I don't have either of those checked off.

  • Is there a way of renaming files AS you download them (as in IE where you type the name into the dialog box as you save)?

    I save batches of records from an info source and need to give them memorable names as I download them, so that I can find the correct record again easily. Currently the system just calls them, e.g. wrlb, wrlb[2], wrlb[3]. When I used IE, I could type a filename into the dialog box as I saved, but Firefox doesn't seem to have any option to rename. Can anyone point me to a solution?

    See Tools > Options > General|Main : Downloads : "Always ask me where to save every file"
    Your plugins list shows outdated plugin(s) with known security and stability risks.
    *Java Plug-in 1.5.0_17 for Netscape Navigator (DLL Helper)
    Update the [[Java]] plugin to the latest version.
    *http://java.sun.com/javase/downloads/index.jsp (Java Platform: Download JRE)

  • How to open renamed files?

    Hi
    I rename selected files and after that want to open them.
    For my purpose renaming works well like this:
    tell application "Finder"
    set FilesToRENAME to selection
    display dialog "Change what?" default answer ""
    set ChangeFROM to text returned of the result
    display dialog "Change to?" default answer ""
    set ChangeTO to text returned of the result
    set AppleScript's text item delimiters to {ChangeFROM}
    set theCount to count of FilesToRENAME
    repeat with x from 1 to theCount
    try
    set theName to name of item x of FilesToRENAME
    set FirstNamePart to first text item of theName
    set LastNamePart to second text item of theName
    set newName to FirstNamePart & ChangeTO & LastNamePart
    set name of item x of FilesToRENAME to newName
    on error errStr number theNumber
    activate
    display dialog "Error in changing the Name " & theNumber & return & errStr ¬
    & return & "Step " & x
    end try
    end repeat
    set AppleScript's text item delimiters to ""
    end tell
    Now newly renamed files don't belong anymore to FilesToRENAME. So how to point to those files now (how to make a new list from those renamed files)? I was thinking to get a path to each file inside the repeat loop and replace the name, but couldn't do it.
    Thank you for any help.
    Vera

    Pierre's method is pretty clever, but if you don't happen to be using a Finder selection (choose file for example), you can also use the interesting fact that an alias keeps track of an item even if it is moved or renamed.
    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    font-weight: normal;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px; height: 340px;
    color: #000000;
    background-color: #DAFFB6;
    overflow: auto;"
    title="this text can be pasted into the Script Editor">
    -- tell application "Finder" to set filesToRename to selection as alias list
    set filesToRename to (choose file with multiple selections allowed)
    set changeFrom to text returned of (display dialog "Change what?" default answer "")
    set changeTo to text returned of (display dialog "Change to?" default answer "")
    set renamedFiles to {} -- this will be the renamed files
    repeat with aFile in filesToRename
    set aFile to the contents of aFile
    tell application "Finder" to set theName to name of aFile
    try
    set tempTID to AppleScript's text item delimiters
    set AppleScript's text item delimiters to {changeFrom}
    set firstNamePart to first text item of theName
    set lastNamePart to second text item of theName
    set AppleScript's text item delimiters to tempTID
    set newName to firstNamePart & changeTo & lastNamePart
    tell application "Finder"
    set name of aFile to newName -- aFile points to the original file
    update aFile -- give Finder a chance to catch up
    set the end of renamedFiles to aFile -- aFile now points to the renamed file
    end tell
    on error errStr number theNumber
    activate me
    display alert "Error " & theNumber & " in changing the Name" message errStr
    end try
    end repeat
    renamedFiles --> aliases to the renamed files
    </pre>

  • Renaming files with invalid characters in their names on NTFS partitions, introduced by operating systems other than Windows

    Essentially, Linux created some files with colons (:) in the name on a NTFS partition where I have Windows installed. I have since uninstalled Linux, but now I can only view these files in Windows Explorer. I can't open them, I can't even rename them to
    correct the problem. It's as if they don't exist, because of the invalid search paths.
    If I try to rename them in Windows Explorer I get following message.
    The file name you specified is no valid or too long.
    Specify a different file name.
    Well isnt' that something?... isn't that nice? Windows is able to display these files, but it doesn't allow me to open them and it certainly doesn't like me to rename them. So why is it whining about it then, when I'm trying to help? It says "try a different
    file name". Yeah, right! Like I haven't tried that one already! It doesn't matter what file name I input it will never accept it.
    So what am I supposed to do now? Ditch Windows and go back to Linux? Surely, Microsoft doesn't like the sound of that. Sure, I could reinstall Linux or run a Linux live system to correct the problem. But what good is Windows then? I might as well switch to
    Linux altogether.
    After doing some research I now know by fact that it's (kind of) possible to rename files from UNIX and UNIX-like operating systems to those compliant with Windows by using something called file name character translation. To some level this is essential and
    necessary for Windows interoperability with other operating systems (Windows is not the only operating system in the world). But this seems to be very complicated and I can't get my head around it. My brain is in overload. I don't know where to start.
    Once there was a...
    There's the Windows Services for UNIX (SFU) 1.0, 2.0, 3.0, 3.5. The first two versions were based on MKS Toolkit, a package licensed by Microsoft from MKS Inc. The later versions were based on the similar Interix product, after Microsoft purchased the company
    that made it.
    Then there's the new Subsystem for UNIX-based Applications (SUA). These are services for UNIX components. They are supposed to have Client for NFS v3 included as well. But the server components from the SFU line is missing (e.g. Server for NFS). These are included
    in Server editions of Windows.
    Then there's the Microsoft Knowledge Base article
    289627: "How to Enable File Name Character Translation". This article seems to describe exactly my situation.
    Windows and UNIX operating systems have restrictions on valid characters that can be used in a file name. The list of illegal characters for each operating system, however, is different. For example, a UNIX file name can use a colon (:), but a Windows
    file name cannot use a colon (:). If a UNIX user attempts to create a file with a Windows illegal character on a Windows Services for UNIX network file system (NFS) share, the attempt is unsuccessful and the UNIX client computer receives an input or output
    error.
    It goes further than that. At first glance, this KB article also seems to offer a solution to this exact problem, with examples as shown below.
    For example, the following maps the UNIX colon (:) to a Windows dash (-):
    0x3a : 0x2d ; replace client : with - on server
    I checked these values in charmap.exe and they are correct. Except for 2D not being a "dash", it's rather a hyphen ("hyphen minus" to be exact), but these two have pretty much the same appearance and they get interchanged a lot, I'm sure
    they are used to it by now. (Yes, the characters! They don't mind.)
    Then there's this registry key.
    HKEY_LOCAL_MACHINE\Software\Microsoft\Server For NFS\CurrentVersion\Mapping
    Well, of course, I don't have Server for NFS. So this is a dead end. Well, actually, it was a dead end from the beginning...
    1. First of all, I'm not working with a network share on a NAS or SAN storage. The files are on the local disk drive where Windows is installed, so that's a DAS for you.
    2. I don't have SFU! Well obviously, I'm on Windows Vista! So that means SUA!
    3. SUA are service components only. No server components. Can you guess what that means? Yeah... no "Server for NFS" since it's a server component.
    4. Windows Vista is a client side operating system! Server for NFS is only offered for use with Windows Server systems.
    5. Back to square one!
    So there you have it. They all lived happy for the rest of their lives...
    I'm stuck here. Can someone tell me what to do? I mean beyond the obvious option to use Linux to fixa a Windows problem? The NTFS file system itself supports colons in file names. It's Windows that doesn't, and so by default it proclaims it invalid character.
    Surely, even a Windows client operating system like Windows Vista should be able to allow the user to at least rename files with invalid characters to something more sensible (from the system point of view) and valid, if not being able to open them as they
    are. Just add some crazy voodoo code to it and it will work. If you can make it possible on Windows Server with UNIX user-mode subsystem on NT kernel, then what's stopping you from giving the Windows client system the same benefit?
    So what now? Purchase a Windows Server 2012 R2 license, copy my invalid files to a NAS share with NFS on a UNIX or Linux system, and have a go at the Windows registry and Server for NFS? Yeah... you're right, it's probably a bit over the top...
    On a second thought... I might as well install Linux again. There are countless situations where Linux has helped me solve problems related to, and more often than not caused by Windows.

    Essentially, Linux created some files with colons (:) in the name on a NTFS partition where I have Windows installed. I have since uninstalled Linux, but now I can only view these files in Windows Explorer. I can't open them, I can't even rename them to
    correct the problem. It's as if they don't exist, because of the invalid search paths.
    If I try to rename them in Windows Explorer I get following message.
    The file name you specified is no valid or too long.
    Specify a different file name.
    Well isnt' that something?... isn't that nice? Windows is able to display these files, but it doesn't allow me to open them and it certainly doesn't like me to rename them. So why is it whining about it then, when I'm trying to help? It says "try a different
    file name". Yeah, right! Like I haven't tried that one already! It doesn't matter what file name I input it will never accept it.
    So what am I supposed to do now? Ditch Windows and go back to Linux? Surely, Microsoft doesn't like the sound of that. Sure, I could reinstall Linux or run a Linux live system to correct the problem. But what good is Windows then? I might as well switch to
    Linux altogether.
    After doing some research I now know by fact that it's (kind of) possible to rename files from UNIX and UNIX-like operating systems to those compliant with Windows by using something called file name character translation. To some level this is essential and
    necessary for Windows interoperability with other operating systems (Windows is not the only operating system in the world). But this seems to be very complicated and I can't get my head around it. My brain is in overload. I don't know where to start.
    Once there was a...
    There's the Windows Services for UNIX (SFU) 1.0, 2.0, 3.0, 3.5. The first two versions were based on MKS Toolkit, a package licensed by Microsoft from MKS Inc. The later versions were based on the similar Interix product, after Microsoft purchased the company
    that made it.
    Then there's the new Subsystem for UNIX-based Applications (SUA). These are services for UNIX components. They are supposed to have Client for NFS v3 included as well. But the server components from the SFU line is missing (e.g. Server for NFS). These are included
    in Server editions of Windows.
    Then there's the Microsoft Knowledge Base article
    289627: "How to Enable File Name Character Translation". This article seems to describe exactly my situation.
    Windows and UNIX operating systems have restrictions on valid characters that can be used in a file name. The list of illegal characters for each operating system, however, is different. For example, a UNIX file name can use a colon (:), but a Windows
    file name cannot use a colon (:). If a UNIX user attempts to create a file with a Windows illegal character on a Windows Services for UNIX network file system (NFS) share, the attempt is unsuccessful and the UNIX client computer receives an input or output
    error.
    It goes further than that. At first glance, this KB article also seems to offer a solution to this exact problem, with examples as shown below.
    For example, the following maps the UNIX colon (:) to a Windows dash (-):
    0x3a : 0x2d ; replace client : with - on server
    I checked these values in charmap.exe and they are correct. Except for 2D not being a "dash", it's rather a hyphen ("hyphen minus" to be exact), but these two have pretty much the same appearance and they get interchanged a lot, I'm sure
    they are used to it by now. (Yes, the characters! They don't mind.)
    Then there's this registry key.
    HKEY_LOCAL_MACHINE\Software\Microsoft\Server For NFS\CurrentVersion\Mapping
    Well, of course, I don't have Server for NFS. So this is a dead end. Well, actually, it was a dead end from the beginning...
    1. First of all, I'm not working with a network share on a NAS or SAN storage. The files are on the local disk drive where Windows is installed, so that's a DAS for you.
    2. I don't have SFU! Well obviously, I'm on Windows Vista! So that means SUA!
    3. SUA are service components only. No server components. Can you guess what that means? Yeah... no "Server for NFS" since it's a server component.
    4. Windows Vista is a client side operating system! Server for NFS is only offered for use with Windows Server systems.
    5. Back to square one!
    So there you have it. They all lived happy for the rest of their lives...
    I'm stuck here. Can someone tell me what to do? I mean beyond the obvious option to use Linux to fixa a Windows problem? The NTFS file system itself supports colons in file names. It's Windows that doesn't, and so by default it proclaims it invalid character.
    Surely, even a Windows client operating system like Windows Vista should be able to allow the user to at least rename files with invalid characters to something more sensible (from the system point of view) and valid, if not being able to open them as they
    are. Just add some crazy voodoo code to it and it will work. If you can make it possible on Windows Server with UNIX user-mode subsystem on NT kernel, then what's stopping you from giving the Windows client system the same benefit?
    So what now? Purchase a Windows Server 2012 R2 license, copy my invalid files to a NAS share with NFS on a UNIX or Linux system, and have a go at the Windows registry and Server for NFS? Yeah... you're right, it's probably a bit over the top...
    On a second thought... I might as well install Linux again. There are countless situations where Linux has helped me solve problems related to, and more often than not caused by Windows.

  • Need a script to do the following... rename files based on folder name...

    Hi. Macophile just starting to tread the waters of Applescript, trying to use Automator but don't think it will do what I need.
    I have many images stored with-in folders that I would like to extrapolate a given number of characters from the folder name and Add Text to the files within those given folders.
    Basically...
    Folder name is C00100_Descriptive
    Files within folder are just Descriptive_01, Descriptive_02
    Would like to make all files within a given folder take the first 7 characters from the folder and Add that text to all files and files within subfolders of that folder to make the resulting files shown as...
    C00100Descriptive01
    C00100Descriptive02
    Along with this I would also like to incorporate into the script, an added step to create Thumbnail jpegs of the image files in a Subfolder under C00100_Descriptive folder.
    I can see how to do that in automator but not specifying parameters such as taking a certain number of characters from the folder the file resides in and adding that selected text to the files.
    Ideally I would like a droplet or something that I could take a bunch of folders and drop them on the droplet to perform these actions.
    Any advice, help or guidance would be really helpful! Thanks in advance.

    Awesome, you're quite welcome, glad to hear it worked for ya!! Here's another version of the script that will rename the thumb files as jpg...
    <pre style="width:630px;height:auto;overflow-x:auto;overflow-y:hidden;"
    title="Copy this code and paste it into your Script Editor application.">on run
    set theItems to choose folder with multiple selections allowed
    open (theItems)
    end run
    on open (itemList)
    repeat with anItem in itemList
    set theInfo to info for anItem
    --VERIFY THAT THE OPENED ITEM IS A FOLDER
    if folder of theInfo and not package folder of theInfo then
    --SET PATH TO THE FOLDER
    set theFolder to POSIX path of anItem
    --GET FIRST PART OF FOLDER NAME
    set folderNameStart to do shell script "echo " & ¬
    quoted form of (name of theInfo) & "|awk -F'_' '{print $1}'"
    --GET ALL FILE NAMES
    set fileList to list folder anItem without invisibles
    --PROCEED IF FOLDER NOT EMPTY
    if fileList is not {} then
    --SET PATH TO THUMBNAIL FOLDER
    set thumbFolder to theFolder & "_thumbs/"
    --CREATE FOLDER IF IT DOESN'T ALREADY EXIST
    try
    do shell script "mkdir " & quoted form of thumbFolder
    end try
    --PROCESS FILES
    repeat with fileName in fileList
    --SET PATH TO CURRENT FILE
    set oldFile to theFolder & fileName
    --PROCEED IF FILE IS NOT A FOLDER
    set oldFileInfo to info for POSIX file oldFile
    if not folder of oldFileInfo then
    --SET NEW FILE AND THUMB FILE PATHS
    set newFileName to folderNameStart & "_" & fileName
    set newFile to theFolder & newFileName
    set theExt to name extension of oldFileInfo
    set thumbName to text 1 through -((length of theExt) + 1) of newFileName & "jpg"
    set thumbFile to thumbFolder & "thumb_" & thumbName
    --RENAME FILE
    do shell script "mv " & quoted form of oldFile & space & ¬
    quoted form of newFile
    --CREATE THUMBNAIL
    --REPLACE '128' WITH MAX HEIGHT OR WIDTH OF THUMB
    try
    do shell script "sips -s format jpeg -s dpiHeight 72 -s dpiWidth 72 -Z 128 " & ¬
    quoted form of newFile & " --out " & quoted form of thumbFile
    end try
    end if
    end repeat
    end if
    end if
    end repeat
    end open</pre>

  • How can I automatically rename files based on an excel doc?

    I am a scientist and recieve data files from some of my experiments with arbitrary, computer-generated names. For example, if I perform an experiment with four samples, which I name Sample1, Sample2, Sample3, and Sample4, I get back 4 data files named J30935D05.ab1, J30935E05.ab1, J30935F05.ab1 and J30935G05.ab1 along with an Excel doc that lists my names for the samples (sample1, sample 2, etc.) in one column and the computer-generated names for their corresponding files (J30935D05.ab1, J30935E05.ab1, etc.) next to them in another. Therefore, I must open the Excel file and look up which file corresponds to which sample before I can begin processsing my data. Usually these experiments involve a large enough number of samples (70-100 or so) such that looking everything up in the Excel doc gets very tedious and is quite time-consuming. Is there any way to create an automator workflow, applescript, or some other solution to rename these files based on the Excel doc? To clarify, I would like an automator workflow that would take a folder of arbitrarily named files, look up the names I have for the samples in the Excel doc, and rename the files accordingly. In the example, my folder containing files J30935D05.ab1, J30935E05.ab1, J30935F05.ab1 and J30935G05.ab1 would be turned into a folder containing the files renamed as Sample1.ab1, Sample2.ab1, Sample3.ab1, and Sample4.ab1. This example is a bit simplified, however, and trying a simple trick of just systematically renaming files within the folder would not work--both the original and the new file names must be looked up in the Excel doc, as these change dramatically from experiment to experiment. I would also need to maintain the file extension on each file after being renamed. Any help would be greatly appreciated!!

    Try the freeware utility Renamer4Mac (VersionTracker or MacUpdate).
    Why reward points?(Quoted from Discussions Terms of Use.)
    The reward system helps to increase community participation. When a community member gives you (or another member) a reward for providing helpful advice or a solution to their question, your accumulated points will increase your status level within the community.
    Members may reward you with 5 points if they deem that your reply is helpful and 10 points if you post a solution to their issue. Likewise, when you mark a reply as Helpful or Solved in your own created topic, you will be awarding the respondent with the same point values.

  • How can I get iTUNES library to display renamed files and folders (renamed with Windows Explorer)?

    How can I get iTunes library to display the new names and organisation of tracks and albums (ie files and folders) that I have renamed and reorganised (using Windows Explorer) having previously imported them using iTunes?
    (Even when I relocate "lost" tracks in iTunes (using the drop down menu facility to view in Windows explorer), although iTunes will then play the track, and knows where to find it, it refuses to display the track with its correct (new) name, or show it the correct (new) album.  That means I have lots of things called "Untitled" and "Track 01" etc, all of which have actually been renamed, but iTunes does not seem to have the capability to recognise the changes and update its library listing.  Another example - a Tchaikovsky CD with 3 major works in 13 tracks insists on displaying in iTunes as 13 tracks in one album, despite the fact that I have reorganised the tracks into 3 albums - two being Swan Lake and The Nutcracker - and renamed the individual tracks to a more useable format.)

    Thanks for your replies ckuan
    I agree with Tgod that your first solution does not work.  It appears unpredictable whether the old or new file names are listed when you drag the folders into iTunes from Windows Explorer.  The folder structure is completely missing.  I reckon if you have to muck around spending days/weeks/months finding out how to fix links to a secret meta-file (obviously designed by some deep-cover microsoft worm working in the Apple!), then it's pretty obvious that almost any alternate way of doing this would be better.   Bye bye iTunes!!
    Incidentally, I tried several other things that (if the software was designed intuitively) should work, but give disastrous results:
    1) when deleting the library listing in iTunes, it gives you two options - one is to remove the listings to the Recycler.  Be aware that IF you select that option, it removes not only your library listing, but also your ACTUAL MUSIC FILES to the Recycler.  Moreover, it does NOT remove the insidious secret meta-file that is what apparently keeps rewriting old names over your carefully renamed file names, and keeps totally ignoring your carefully designed folder (album) structure.  OK - not a complete disaster, as I realised and went hunting through the chaos in the Recycler to recover all my files.  No thanks to the genius who designed this brilliant feature!
    2) after deleting the library listing in iTunes, I attempted to import just the folders that I wanted.  iTunes refused to allow me to do that, and proceeded to try to import every frigging music file it could find on my whole hard drive, in apparently random fashion into the library.  Whoever thought up that doozy either never ever tried to use or market test it, or has modified their mind rather too many times with artificial substances so their brain is like muesli chop suey.
    3) oh why go on, it's too depressing ...

  • Unable to rename file's

    i am trying to rename files in a folder nine
    files name are taken from the text file dnine.txt
    were for every occurance of a number in the filename
    i wrote this code it reaches the condition as marked bold but it isnt renaming the files
    plzz help
    import java.io.*;
    import java.util.*;
    class nan
    {     public static void main(String S[]) throws IOException
         Scanner track = new Scanner(new File("dnine.txt"));
         String [] Sme;
         Sme=new String[30];
         int i=0;
        while (track.hasNextLine())
        {Sme=track.nextLine();
    i++;      }
    File dir = new File("nine");
         String[] ch = dir.list();
         Arrays.sort(dir);
         String temp,temp2;
         File f[] = new File("nine").listFiles();
    for (i=0; i<ch.length; i++)     
    for (int j=0; j<Sme.length; j++)          
         {     temp2=""+j;
              temp="2X"+temp2+Sme[j]+".txt";
              *if(ch[i].indexOf(temp2)!=-1)          *
         {     File file = new File(ch[i]);
         File file2 = new File(temp);
         boolean success=f[i].renameTo(file2);
         System.out.println(ch[i]+success);

    Are you getting some sort of error? If so copy and paste the entire error message here and indicate on which line the error occurs.
    P.S. For the love of [insert deity], please make your code indentations consistent.

  • Rename files in different subfolders

    Hello,
    I am looking for a script to do the following:
    I have different files in various folders and subfolders that I wish to rename.
    So I need a script to search for files in all folders and subfolders of my external drive and find all files ending in .doc.
    Then I need each file to be renamed as "report.doc". (there is only one file per subfolder so there is no danger of having two files with the same name.)
    Can someone show me how to do that? I found similar posts but it was not what I was looking for.
    Thank you very much for your time.

    This is an old document I have so some may no longer exist or work with Lion, but you can probably find utilities that will do this for you.  I use Renamer4Mac from back when it was free.
    *Renaming Utilities*
    NameChanger [http://www.mrrsoftware.com/MRRSoftware/NameChanger.html]
    Renamer4Mac [http://renamer4mac.com/batch-rename-files-on-mac-osx.html] - now shareware but older versions may still be free.
    psrenamer [http://www.powersurgepub.com/downloads.html#psrenamer] - Java based (=slightly slow) free utility.
    Name Mangler [http://www.manytricks.com/namemangler/] - requires OS 10.5+, but File List [http://www.manytricks.com/download/filelist] is an older version for pre-10.5.
    [http://www.publicspace.net/ABetterFinderRename/] - $20

  • Difficult to Rename Files (Finder windows keep Refreshing)

    Has anyone else noticed how difficult it is to rename files in a folder? It is almost as if Leopard's Finder keeps refreshing (or building thumbnails) or something. Here is my scenario:
    - Browse to a folder (in my case a folder with large files)
    - Hit enter on a file and start renaming the file
    - After 1-2 seconds, finder jumps out of edit mode by itself (as if the page somehow refreshed)
    - Hit enter again and keep on editing
    - 1-2 seconds later, jumps out of edit mode again.
    - Leave the window for 20-30 seconds
    - Then hit enter, then it is easy to rename the file.
    - Thereupon, immediately try to edit the next file, and bam, it exits edit mode after 1-2 seconds (almost as if the previous file rename triggered a 'refresh this entire view' event)
    It is incredibly annoying to attempt to rename a bunch of files with Leopard.

    Ah - I cant seem to get into the habit of "get info" to rename my files. It seems counter productive.
    Is there any other workaround / fix to make the finder stop jumping me out of renaming a file?
    It is incredibly annoying. I will get a few characters typed in, and it will jump out of editing... and then to add insult to injury, the folders is updated and the file jumps to its new alphabetical location in the list - So I have to go find the partially named file to finish the job.
    People ask me if I like Windows or Mac. I say both have benefits and weaknesses. Renaming files is one of my Mac's weaknesses - it seems. It shouldn't be - it is a basic part of an operating system.
    Help!

  • Renaming files in LR5 with the correct date

    I am getting the wrong date when I rename files in LR5. How do I fix it? I hae always used a custom preset
    date (YYYYMMDD)_Custom Text_Sequence #(0001)
    Everything works except the date. What I get is 20130128
    I am using a Nikon Df . I checked the date and time and it is set correctly.
    What should I do?

    If you select one of these "wrongly-dated" photos and look in the Metadata panel (set to display EXIF), what dates do you see listed for Date Time Original, Date Time Digitized and Date Time?

  • Renaming files in a book

    Hi everyone,
    I need to rename files in a book, but from within the book. A Save as... won't update the cross refrences.
    I see an fcode for this (FCodes.KBD_BOOKRENAMEFILE), but I've been advised not to rely on these types of shortcuts.
    I don't see anything else documented in the Scripting Guide. Does anyone else have any other suggestions?
    Thanks so much!
    Heather A

    Just following up for anybody else who might need this in the future.
    My hangup was that pulling files from the book itself created Doc objects, not File objects (beginners mistake, you hate to see it). Anyway, here are some of the functions that I came up with to handle this task for anybody who needs it. Please be warned, this is quite literally my first ExtendScript project so this may not be the most efficient way to have done this (I'm always open to constructive criticism from those more experienced than myself). I know I went overkill with notes in the code, that was requested by colleagues who know less about code than I do so that if I were no longer employed for some reason another person could come in and understand exactly what the code was doing.
    function fileNameReplacer(FullArray, CodeBook, BookFile) {
        /*The fileNameReplacer steps through all of the files in the book looking for those who need to be renamed.
            The function first renames all of the files, and then cycles through each file's Crossreferences and updates the
            names to reflect name changes*/
        /*Local variables are created*/
        var FileName,
            BookName,
            FilePath,
            FullName,
            FileType,
            EncodedName,
            OldName,
            NewName,
            ThisFile,
            OpenFile,
            FileArray;
        FileArray = FullArray;
        /*Loops through all of the files in the book*/
        for (var i = 0, len = FileArray.length; i < len; i++) {
            /*Tests if the file is type 255 which would signify it is a folder or a group (These will not be renamed and would throw errors)*/
            if (FileArray[i][0].type == 255) {
                /*If the file is identified as a group or folder, it is removed from the Array with the "splice" command*/
                FileArray.splice(i, 1);
                /*The counters for this loop are then adjusted to reflect the new length of the "FileArray" variable*/
                i = i - 1;
                len = len - 1;
                /*Starts the next round of the loop (which is actually repeating the same loop but without the group or folder in the Array)*/
                continue;
            /*If the file being looked at is not a folder or group, it is assigned to the "ThisFile" variable*/
            ThisFile = FileArray[i][0];
            /*Checks the file to see if it's element catalog has values. If there are no values, it would mean that there is no data from which
                to develop the encoded name, and likely means the file is something like a cover page or table of contents which do not need encoding*/
            if (ThisFile.ElementCatalog.length !== 0) {
                /*If the element catalog has items in it, the name of the current file being examined is assigned to the "FullName" variable*/
                FullName = ThisFile.Name;
                /*The FullName is then split into an array at each backslash (Backslashes in JavaScrip have their own meaning, in order to
                    input a single backslash two must be used). The last item of the array is the file name which is assigned to the "FileName"
                    variable using the "pop" command*/
                FileName = FullName.split("\\").pop();
                /*The FileName is then split at the period, and the file extension with a leading period is assigned to the "FileType" variable.*/
                FileType = "." + FileName.split(".").pop();
                /*The file path without file name is assigned to the "FilePath" variable. This is done by identifying where in the "FullName" variable
                    the "FileName" begins, and then taking a substring of the "FullName" up to that point.*/
                FilePath = FullName.substr (0, (FullName.indexOf(FileName)));
                /*The new encoded file name is found by running the current file through the nameEncoder function along with the Abbreviation List
                    (Called "CodeBook" in this function). The value produced by the nameEncoder function is assigned to the "EncodedName" variable*/
                EncodedName = nameEncoder(ThisFile, CodeBook);
                /*The encoded name and original name are then assigned to locations 2 and 1 in the File array respetively*/
                FileArray[i][2] = FilePath + EncodedName + FileType;
                FileArray[i][1] = FullName;
                /*The old name and new name are compared to see if a change has actually occurred*/
                if (FileArray[i][1] === FileArray[i][2]) {
                    /*If no change has occured, the file is removed from the array using the "splice" command, since it will only slow down later processes.*/
                    FileArray.splice(i, 1);
                    /*The loop counters are updated to reflect the change in FileArray length*/
                    i = i - 1;
                    len = len - 1;
                    /*Starts the next round of the loop (which is actually repeating the same loop but with the file not requiring renaming removed)*/              
                    continue;
            } else {
                /*If the element catalog for the current file does not have any values it is removed from the "FileArray" using the "splice" command*/
                FileArray.splice(i, 1);
                /*The loop counters are updated to reflect the change in FileArray length*/
                i = i - 1;
                len = len - 1;
                /*Starts the next round of the loop (which is actually repeating the same loop but with the file lacking elements removed)*/
                continue;
        /*At this point the FileArray contains only files that can, and have been renamed; along with their current and new names*/
        /*Loops through all files in the FileArray*/
        for (var l = 0, lenA = FileArray.length; l < lenA; l++) {
            /*Assigns the current file, its old name, and its new name to the "ThisFile", "OldName", and "NewName" variables respectively*/
            ThisFile = FileArray[l][0];
            OldName = FileArray[l][1];
            NewName = FileArray[l][2];
            /*Opens the current file assigned to "ThisFile" as a File object. File objects allow for changes on the drive itself to be made, while
                changing the .Name attribute of a Doc object will not. This allows for the encoded names to be applied directly to the files themseves.*/
            OpenFile = File(ThisFile.Name);
            OpenFile.rename(NewName);
            /*Changes the file's label to the value of "NewName" and removes the file type (as the label does not show file type)*/
            ThisFile.Label = NewName.split(".").shift();
            /*Changes the PrintFileName value to the value of "NewName" with the file type changed to ".ps"*/
            ThisFile.PrintFileName = NewName.split(".").shift() + ".ps";
        /*Traverses all files in the books and renames the target the book is looking for. If this is not done, the book will still think the old names exist and will
            try to find them to no avail. "traverse" function sends each component in the book through another function,
              in this case the bookComponentRenamer, and supplies the second function with a parameter, FileArray here.*/
        traverse(BookFile, bookComponentRenamer, FileArray);
        xrefRenamer(FullArray, FileArray);
        /*Saves the book file with the updated component names*/
        BookFile.SimpleSave(BookFile.Name);
        /*When the book is closed, the BookFile variable will no longer function. Assigning the current books name to the "BookName" varibales will allow the book to be reopened*/
        BookName = BookFile.Name;
        /*All open files are closed*/
        closeAll();
        /*Curent book is reopened*/
        BookFile = openBook (BookName);
        /*All book files (now with updated names) are opened*/
        traverse(BookFile, openfile);
        /*Returns the updated book back to the location that originally called the fileNameReplacer function*/
        return BookFile;
    function bookComponentRenamer(Component, FileArray) {
        /*The bookComponentRenamer compares the current book component with names on the FileArray (these are files that have name changes.
            If a match is found, that compent's name is changed within the book itself. This ensures that the names the book file is looking for reflect the updated file names created by this program*/
        for (var i = 0, len = FileArray.length; i < len; i++) {
            if (Component.Name === FileArray[i][1]) {
                Component.Name = FileArray[i][2];
    function xrefRenamer(AllFiles, RenamedFiles) {
        var ThisFile,
            ThisXREF,
            NextXREF,
            OldName,
            NewName,
            XREFTest;
        for (var i = 0, len = AllFiles.length; i < len; i++) {
            /*Assigns the first cross reference in the current file to the "ThisXREF" variable*/
            ThisFile = AllFiles[i][0];
            ThisXREF = ThisFile.FirstXRefInDoc;
            /*Whether "ThisXREF" contains a valid cross reference (having a null value means the file has no cross references, or we have already
                looped through them all and can proceed to the next file in the FileArray)*/
            while (ThisXREF.XRefFile !== null) {
                /*Assigns the next cross reference in the file to the "NextXREF" variable*/
                NextXREF = ThisXREF.NextXRefInDoc;
                /*Loops through all of the files in the FileArray. This will let the current cross reference be compared to the files being renamed and see if
                    there are any matches*/
                for (var j = 0, lenA = RenamedFiles.length; j < lenA; j++) {
                        /*Assigns the old name and the new name of the file being compared to cross references to the "OldName" and "NewName" variables respectively*/
                        OldName = RenamedFiles[j][1];
                        NewName = RenamedFiles[j][2];
                        XREFTest = ThisXREF.XRefFile.indexOf(OldName);
                        /*Tests if the current cross reference being examined links to the current comparison file*/
                        if (0 <= XREFTest) {
                            /*If yes, the cross reference is updated with the new name*/
                            ThisXREF.XRefFile = ThisXREF.XRefFile.replace(OldName, NewName);
                            /*Ends the comparison loop for this cross reference as the correct replacement has been found*/
                            break;
                /*Assigns "ThisXREF" with the value of the "NextXREF" the comparison loop starts again*/
                ThisXREF = NextXREF;
            ThisFile.SimpleSave(ThisFile.Name);

  • Key repeat issues when renaming files

    I am having trouble with the cursor arrow key repeating when renaming files. When I press and hold the left or right arrows while renaming in Cover Flow view, it starts scrolling through the files instead of moving the cursor through the filename.
    This also seems to happen when renaming files on an attached USB device. Instead of moving the cursor it moves the file selection bar after a few cursor repeat actions.
    Has anyone else encountered this issue? Is there a fix?

    This has been bugging me too. I noticed it right back when Leopard was still 10.5.0 and thought they would have at least acknowledged it by now. In coverflow view, the files scroll across the covers, in list mode the folder tree collapses if you hold the left arrow key. And another annoying thing Leopard does is that when you're renaming, if any file in that folder changes, it abandons the rename instead of continuing, making your keystrokes move up and down the list of files without warning.

Maybe you are looking for