Renaming Multiple Files
Techniques for renaming multiple files. A system establishes a rename state for a first file in a collection of files and, in the rename state, receives user input specifying a name for the first file. In response to the user input specifying the name, the system renames the first file according to the name and establishes a rename state for a second file in the collection of files. In the rename state, the system can display both the current name of the file and the file extension associated with the file. The system can protect the file extension such that the user cannot change the file extension in the rename state.
Latest ADOBE SYSTEMS INCORPORATED Patents:
This application is a continuation and claims the benefit of priority under 35 U.S.C. Section 120 of U.S. application Ser. No. 10/227,021, filed Aug. 21, 2002, entitled “Renaming Multiple Files”. The disclosure of the prior applications is considered part of and is incorporated by reference in the disclosure of this application.
BACKGROUNDThe present invention relates to renaming files.
A file name is a string of characters that identifies a file. Most operating systems support file names up to 255 characters or more in length. In the Windows operating system, a file name can contain alphanumeric characters and also the following characters: ! @ # $ % & ( ) ′' − { } +, . ; =[ ] and the space character.
In some operating systems, a file extension can be appended to the end of a file name. A file extension specifies the file type and typically is represented as a delimiter character (e.g., a period character) plus additional characters (e.g., three alphanumeric characters). Many operating systems use file extensions to identify the file type or which application to invoke to open the file. For example, a file having a file extension of “.pdf” indicates to the operating system that the file is stored in portable document format and therefore must be opened using the Adobe Acrobat® program. Adobe Acrobat is a document management program available from Adobe Systems Incorporated of San Jose, Calif.
In some cases, a collection of files may consist of files whose names have been automatically generated by a computer. In such cases, the user may wish to rename some or all of the files in the collection so that the names are more meaningful or descriptive. For example, when a series of digital image files are downloaded from a digital camera into a software program such as Adobe Photoshop® also available from Adobe Systems Incorporated, the files are assigned computer-generated names such as DSGF001.JPG, DSGF002.JPG, and so on. The user may wish to rename the files to reflect, e.g., the subject matter of the image (e.g., YOSEMITE.JPG).
Renaming files can be tedious. Typically, multiple keystrokes are required to rename each file. For example, on the Apple MacIntosh platform, renaming a file involves at least the following keystrokes: a first keystroke to select the file; a second keystroke to enter rename mode; and additional keystrokes to enter the new file name. Renaming multiple files requires repeating each of the above keystrokes for each file.
Besides being tedious, renaming files can also lead to loss of information. Because the entire file name, including the file extension, is typically modifiable during rename mode, the file extension can be erased or corrupted inadvertently during the renaming process. Erasing or corrupting the file extension may cause the operating system to be unable to open the file because the information that indicates which application to use has been lost.
SUMMARYMethods and systems, including computer program products, implementing techniques for renaming files in a collection of files. The techniques include establishing a rename state for a first file in a collection of files; receiving input in the rename state, the input specifying a name for the first file; and in response to the input specifying the name, renaming the first file according to the specified name for the first file and establishing a rename state for a second file in the collection of files.
Particular implementations can include one or more of the following features. A file extension for the first file can be displayed in the rename state but protected such that the user cannot change the file extension in the rename state for the selected file. The system can generate a name for the second file, the generated name for the second file being derived from the specified name for the first file.
The invention can be implemented to realize one or more of the following advantages. The number of keystrokes required to rename multiple files can be reduced. The file extension can be protected during rename mode so that the extension is not inadvertently corrupted during file renaming. New file names for subsequent files in a collection of files can be automatically generated based on the file name of a previous file.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings, and the claims.
Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTIONThe method 200 begins when the system 100 identifies a collection of files to be renamed (step 210). The system 100 can identify the collection of files based on user input. For example, the user can select a particular subdirectory of files, or individual files in a directory or subdirectory, within the file system 140. Alternatively, the system 100 can identify the collection of files based on pre-defined settings. For example, if the method 200 is running within a particular application, the system 100 can identify either a certain directory that is associated with the application (e.g., a “My Documents” or “My Pictures” folder) or a collection of files within the file system having a format compatible with the application (e.g., JPG format).
The collection of files can reside within a file system, a database or any other storage system. The files within the collection can be ordered such that each file has a designated position within the collection. The files can be sorted according to user input or a pre-determined scheme (e.g., by filename, creation date, file type and so on).
Once the system 100 has identified a collection of files to be renamed, the system 100 identifies a first file (220). The system 100 can identify the first file in response to user input selecting a file in the collection of files. Alternatively, the system 100 can identify the first file based on a pre-determined scheme (e.g., the first file in the collection, the first file in the collection that has a randomly-generated file name, and so on).
After identifying a first file, the system 100 establishes a rename state for the first file (step 230). The system can establish the rename state in response to user input requesting that the first file be placed in a rename state. During the rename state, the system 100 can provide an interface for a user to view the current name and specify a name for the first file. As shown in
In one implementation, the system 100 protects the file extension (including the delimeter) so that it cannot be changed during the rename state. This implementation is illustrated in
In the rename state, the system 100 receives input specifying a name for the first file (step 240). The specified name can be a new, modified, or original name for the first file. As shown in
Once the name is specified, the system 100 automatically renames the selected file according to the specified name, proceeds to the next file in the collection of files and establishes a rename state for the next file (step 250). As discussed above in the context of step 230, the system 100 can display the current name for the next file and prompt the user for input specifying a name, as shown in
In some implementations, instead of displaying the current name for the next file, the system 100 can display a computer-generated name for the next file. The computer-generated name can be based on the specified name of the first file. In one implementation, the system 100 can use the specified name of the first file as a base name to which the system appends one or more additional suffix characters to generate names for subsequent files in the collection of files. The system 100 can provide an interface for users to select a desired suffix from a list of suffixes (e.g., sequential numbers, dates, times and so on). After displaying the computer generated name (e.g., “Alaska01” or “Alaska25Dec2001”) in step 250, the system 100 waits to receive input specifying a name in step 260. If the user is not satisfied with the computer-generated name, the user can make changes to the name. Otherwise, if the user is satisfied with the computer-generated name, the user can strike the termination key to accept the computer-generated name without changes. After receiving this input, the system proceeds to the next file as discussed above.
In another implementation, the system 100 can use the name of the first file as a base name, but the system 100 does not automatically append suffix characters to the base name. Instead, the system 100 displays the base name and prompts the user to complete the name by adding any desired additional characters (e.g., the name of a particular location, person, or object in an image) to distinguish the current file from other files in the collection.
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer system. The computer system can be programmed to provide a graphical user interface through which computer programs interact with users.
The invention has been described in terms of particular embodiments. Other embodiments are within the scope of the following claims. For example, although the invention has been described in terms of its application to renaming image files, the invention can apply to any other type of media file or file (e.g. mp3 files, HTML files, and so on). The invention is also not limited to files or files stored in a file system, but can be applied to any other type of object for which a user can set an identifier or name. For example, the invention can be applied to renaming records in a database, renaming network identifiers associated with network IP (Internet Protocol) addresses, or renaming names of programming modules in source code.
Additionally, the steps of the invention can be performed in a different order and still achieve desirable results.
Claims
1. A computer-implemented method comprising:
- receiving input that defines a specified collection of files from multiple available files and that requests that a name of a single file in the specific collection be changed;
- placing the single file in a rename state;
- upon detecting that the name is changed, automatically placing a next file in the specified collection in the rename state;
- displaying a computer-generated name for the next file, the computer-generated name based on the changed name of the single file; and
- wherein the name is changed directly in a file browser display.
2. The method of claim 1, wherein files in the specified collection of files include corresponding file extensions, and placing the single file in a rename state comprises protecting a corresponding file extension of the single file such that the corresponding file extension is not changed.
3. The method of claim 2, wherein the corresponding file extension is displayed in-line with the name of the single file and protecting the corresponding file extension comprises highlighting the name of the single file and not highlighting the corresponding file extension.
4. The method of claim 2, wherein protecting the corresponding file extension comprises displaying the name of the single file and not displaying the corresponding file extension.
5. The method of claim 1, wherein the computer-generated name for the next file includes the name of the single file and a suffix.
6. The method of claim 5, further comprising:
- displaying a list including suffixes;
- receiving input selecting a desired suffix; and
- including the desired suffix in a name of the next file.
7. A computer program product, tangibly embodied in a computer-readable medium, the computer program product causing data processing apparatus to perform operations comprising:
- receiving input that defines a specified collection of files from multiple available files and that requests that a name of a single file in the specific collection be changed;
- placing the single file in a rename state;
- upon detecting that the name is changed, automatically placing a next file in the specified collection in the rename state;
- displaying a computer-generated name for the next file, the computer-generated name based on the changed name of the single file; and
- wherein the name is changed directly in a file browser display.
8. The computer program product of claim 7, wherein files in the specified collection of files include corresponding file extensions, and placing the single file in a rename state comprises protecting a corresponding file extension of the single file such that the corresponding file extension is not changed.
9. The computer program product of claim 8, wherein the corresponding file extension is displayed in-line with the name of the single file and protecting the corresponding file extension comprises highlighting the name of the single file and not highlighting the corresponding file extension.
10. The computer program product of claim 8, wherein protecting the corresponding file extension comprises displaying the name of the single file and not displaying the corresponding file extension.
11. The computer program product of claim 7, wherein the computer-generated name for the next file includes the name of the single file and a suffix.
12. The computer program product of claim 11, the operations further comprising:
- displaying a list including suffixes;
- receiving input selecting a desired suffix; and
- including the desired suffix in a name of the next file.
13. A system comprising:
- a processor; and
- a computer program product, tangibly embodied in a computer-readable medium, encoding instructions to cause the processor to perform operations comprising: receiving input that defines a specified collection of files from multiple available files and that requests that a name of a single file in the specific collection be changed; placing the single file in a rename state; upon detecting that the name is changed, automatically placing a next file in the specified collection in the rename state; displaying a computer-generated name for the next file, the computer-generated name based on the changed name of the single file; and wherein the name is changed directly in a file browser display.
14. The system of claim 13, wherein files in the specified collection of files include corresponding file extensions, and placing the single file in a rename state comprises protecting a corresponding file extension of the single file such that the corresponding file extension is not changed.
15. The system of claim 14, wherein the corresponding file extension is displayed in-line with the name of the single file and protecting the corresponding file extension comprises highlighting the name of the single file and not highlighting the corresponding file extension.
16. The system of claim 14, wherein protecting the corresponding file extension comprises displaying the name of the single file and not displaying the corresponding file extension.
17. The system of claim 13, wherein the computer-generated name for the next file includes the name of the single file and a suffix.
18. The system of claim 17, the operations further comprising:
- displaying a list including suffixes;
- receiving input selecting a desired suffix; and
- including the desired suffix in a name of the next file.
Type: Application
Filed: Apr 29, 2008
Publication Date: Jun 27, 2013
Applicant: ADOBE SYSTEMS INCORPORATED (San Jose, CA)
Inventor: Cris Rys (San Diego, CA)
Application Number: 12/111,877
International Classification: G06F 17/30 (20060101);