Extract Preserved File Name

I have gone through about 1000 photos and batch renamed them. During this process I made sure that the "Preserve File Name" check box was turned on. My ultimate goal is to somehow take the preserved file name and put it into a normal metadata field (i.e. Keywords). Right now, it exists under the "Raw Data" tab in the file info panel. There is a script that is floating around that will copy the current file name to the "Keywords" metadata. However, I would like to access the Preserved File Name. Anyone have any thoughts on this or somewhere I can look for a script that will do this? I have a feeling this isn't the first time someone has tried to do this, but I have yet to find any scripts or posts that deal with this specifically.

This should do the job...
#target bridge
addPreserved = {};
addPreserved.execute = function(){
  var sels = app.document.selections;
  for (var i = 0; i < sels.length; i++){
var md = sels[i].synchronousMetadata;
    md.namespace = "http://ns.adobe.com/xap/1.0/mm/";
    var preservedFname = md.PreservedFileName;
    md.namespace = "http://ns.adobe.com/photoshop/1.0/";
    md.Keywords = md.Keywords + ";" + preservedFname;
if (BridgeTalk.appName == "bridge"){
var menu = MenuElement.create( "command", "Preserved Filename to Keywords", "at the end of Tools");
  menu.onSelect = addPreserved.execute;

Similar Messages

  • How can I extract a file name / path from a local path variable in TestStand?

    I have local TestStand string variable, call it 'locals.path', that contains a path to a file including the file name (c:\inputs\input.txt). I need to be able to split up the path (c:\input) and the file name (input.txt) and save them into 2 local variables. What is the best way to do this?
    After reading through some of the other forums, it looks like there are some built-in functions that can accomplish this, but I am unable to find how to use them anywhere on the NI web site. One forum said to use the File I/O>Strip Path.file function. How is this called? Is this function in a DLL?
    I know that there are a number of DLLs that are installed with TestStand into the c:\windows\system32 directory. One forum made note of CVI_OpenFile / CVI_ReadFIle functions in the cvirt.dll that I used to solve a problem that I had in the past. The problem is that I had no idea that that these functions even existed and would have never known unless a similar question had been posted previously. Is there some place that these DLL function interfaces are defined or documented? Is there a function that can extract the file name out of a string for me?
    Thanks,
    Mike

    Hi,
    There sound like functions in say LabVIEW or CVI.
    I have attached a small example which may help. (I have not allowed for any error trapping, if say you dont find the file and cancel)
    Regards
    Ray Farmer
    Message Edited by Ray Farmer on 10-16-2006 10:04 PM
    Regards
    Ray Farmer
    Attachments:
    Sequence File1.seq ‏33 KB

  • Need to extract only file name from path.........

    Hi All,
    I have a parameter.This calls the function
    "CALL FUNCTION 'F4_FILENAME' to get the file from C drive.
    After selecting the file the path is displayed in the Parameter field.
    My problem is I need to extract only file name from the path.Please advice.
    Example : Prameter  id    C:\folder\file.xls  
    I shd extract only file.xls from the path.Please advice.

    Hi,
    Use the below logic:
    data: begin of itab,
               val    type  char20,
            end of itab.
    SPLIT  l_f_path  AT  '\'  INTO  TABLE itab.
    The last record of the internal table holds the file name.
    describe table itab lines l_f_lines.
    read itab index l_f_lines.
    l_f_filaname = itab-val.
    Hope this helps u.

  • Import From Folder: How to Extract the File Name in a Custom Column.

    Hello All
    Here´s what we´re trying to do:
    We have a folder with csv files named like this:
    Sales_2013-02-05.csv
    Sales_2013-02-04.csv
    Sales_2013-02-03.csv
    Sales_2013-02-02.csv
    Sales_2013-02-01.csv
    And in the csv files there are the sales columns but not the date column.
    So we want to extract the date from the file name.
    I´ve tried entering = Source[Name] in a custom column, but it adds a "LIST" link, and on a click on expand, it adds ALL file names from the folder in each row, instead of just the needed one.
    If we could get the proper file name in each row (from where they got extracted), we could split the column and get the date from there. But I don´t know how put the filename there properly.
    Can you help?

    This isn't entirely straightforward, but it's definitely possible. What you need to do is to apply all of your transforms to each individual file instead of the combined files. I do that as follows:
    1) Use Folder.Files as generated by the GUI to look at the list of my files.
    2) Pick one file and do all the transformations to it that I want to apply to all of the files. Sometimes, this just amounts to letting the autodetection figure out the column names and types.
    3) Go into the advanced editor and edit my code so that the transformations from step 2 are applied to all files. This involves creating a new function and then applying that function to the content in each row.
    4) Expand the tables created in step 3.
    As an example, I have some files with names that match the ones you suggested. After steps 1 + 2, my query looks like the following:
    let
        Source = Folder.Files("d:\testdata\files"),
        #"d:\testdata\files\_Sales_2013-02-01 csv" = Source{[#"Folder Path"="d:\testdata\files\",Name="Sales_2013-02-01.csv"]}[Content],
        #"Imported CSV" = Csv.Document(#"d:\testdata\files\_Sales_2013-02-01 csv",null,",",null,1252),
        #"First Row as Header" = Table.PromoteHeaders(#"Imported CSV"),
        #"Changed Type" = Table.TransformColumnTypes(#"First Row as Header",{{"One", Int64.Type}, {"Two", type text}, {"Three", type text}})
    in
        #"Changed Type"
    For step 3, I need to take steps 3-5 of my query and convert them into a function. As a check, I can apply that function to the same file that I chose in step 2. The result looks like this:
    let
        Source = Folder.Files("d:\testdata\files"),
        Loader = (file) =>
            let
                #"Imported CSV" = Csv.Document(file,null,",",null,1252),
                #"First Row as Header" = Table.PromoteHeaders(#"Imported CSV"),
                #"Changed Type" = Table.TransformColumnTypes(#"First Row as Header",{{"One", Int64.Type}, {"Two", type text}, {"Three", type text}})
            in
                #"Changed Type",
        #"d:\testdata\files\_Sales_2013-02-01 csv" = Source{[#"Folder Path"="d:\testdata\files\",Name="Sales_2013-02-01.csv"]}[Content],
        Loaded = Loader(#"d:\testdata\files\_Sales_2013-02-01 csv")
    in
        Loaded
    Now I apply the same function to all of the rows, transforming the existing "Content" column into a new value:
    let
        Source = Folder.Files("d:\testdata\files"),
        Loader = (file) =>
            let
                #"Imported CSV" = Csv.Document(file,null,",",null,1252),
                #"First Row as Header" = Table.PromoteHeaders(#"Imported CSV"),
                #"Changed Type" = Table.TransformColumnTypes(#"First Row as Header",{{"One", Int64.Type}, {"Two", type text}, {"Three", type text}})
            in
                #"Changed Type",
        Transformed = Table.TransformColumns(Source, {"Content", Loader})
    in
        Transformed
    Finally, I need to expand out the columns in the table, which I can do by clicking on the expand icon next to the Content column header. The resulting query looks like this:
    let
        Source = Folder.Files("d:\testdata\files"),
        Loader = (file) =>
            let
                #"Imported CSV" = Csv.Document(file,null,",",null,1252),
                #"First Row as Header" = Table.PromoteHeaders(#"Imported CSV"),
                #"Changed Type" = Table.TransformColumnTypes(#"First Row as Header",{{"One", Int64.Type}, {"Two", type text}, {"Three", type text}})
            in
                #"Changed Type",
        Transformed = Table.TransformColumns(Source, {"Content", Loader}),
        #"Expand Content" = Table.ExpandTableColumn(Transformed, "Content", {"One", "Two", "Three"}, {"Content.One", "Content.Two", "Content.Three"})
    in
        #"Expand Content"
    From here, you should be able to get to what you want.

  • Xmp preserved file name

    I like to check the 'Preserve current file name in XMP metadata' box when using the Batch Rename in Bridge so I can possibly use the original name after running the batch renaming. But I cannot seem to locate where the "current file name" is stored in the metadata and how I can then access it to search or sort the files by their original names after the renaming has been done. I think this should be a relatively simple procedure so maybe this is a dumb question to ask... Can anyone help me? RL

    Look in File Info "Raw Data" tab for
      xmpMM:PreservedFileName="[filename.ext]"
    for camera raw files this metadata term also will be in an xmp sidecar file created by a batch rename operation (assuming you have selected save image settings to sidecar xmp files in your camera raw preferences).

  • Extract the Files names Procedure for Linux????

    hi,
    i have installed ODI 11g on windows. & load the multiple file. as you can see this procedure (script) is used to get the files name. using technology "Operating System"
    cmd /c dir D:\test\*.* /b /a:-d > D:\\Filesname.txt. it working fine on windows. Now i want to load these files names that are on Linux Server.
    what will be the script for that
    as my files directory name is Test>>>>containing the files
    Filename.txt>> Extract the names of files in test directory.
    In Linux.
    Thanks,
    Regards

    Did you use the tool "OdiOSCommand" ?
    In the first parameter, you write the LS command :
    ls -1In the second parameter, you write the location of the target file, with the directory :
    /home/your_user/test/Filename.txt With the 4eme parameter, you can decide to append the list in the existing file, or override the file.
    In the 5eme parameter, you set the directory :
    /home/your_user/test/If the directory is defined on your topology as a physical and a logical schema, you can use the logical schema in the parameters :
    for instance :
    <%=odiRef.getSchemaName("FILE_TEST", "D")%>/instead of "/home/your_user/test/"
    where FILE_TEST is the name of the logical schema
    Thanks to that, you will be able to use different directories depending on your contexts.

  • Oracle b2b not preserving file name

    Hi all,
    I have a requirement that my trading partner will send files over AS2 which I have to deliver to other application. In my case file name is important and I have to preserve the file name whatever my TP is sending.
    I have created all the things like remote TP , AS2 channel,agreement etc and I can receive the file over AS2. in b2b console it's showing the file is received successfully.Even I can see the file name in the wire message
    Message-ID=<GOANYWHERE-AS2-20120516-121623738-1337116991845@GoAnyTest_KGSOADEVCERT> EDIINT-Features=multiple-attachments Disposition-Notification-To=GoAnyTest AS2-To=KGSOADEVCERT MSG_RECEIVED_TIME=Wed May 16 12:16:22 EDT 2012 Mime-Version=1.0 Host=10.96.4.34:8001 User-Agent=GoAnywhere Director/4.0.0 Content-Length=150 Date=Wed, 16 May 2012 12:16:23 -0400 AS2-Version=1.2 AS2-From=GoAnyTest Content-Disposition=attachment; filename="EDI.FCSMFCSMSAPT_RTN1205010000.txt" Content-Type=text/plain; name=EDI.FCSMFCSMSAPT_RTN1205010000.txt Connection=close
    Probem scenrio 1:
    I have created a file channel in my host trading partner and I have incorporated that file channel in the in the agreement but b2b is generating file with it's own naming convension(e.g. if TP sending the file name as abc.txt but b2b is generating as MCKESSON_MC_FixedLengthDocs_MC_CustomDocVer1.0_1_0A6004221375839D239000005EC36F4B-1.dat)
    Probem scenrio 2:
    I have not mentioned any delivery channel for my host TP in the agreement and the message is coming in B2B_IN_QUEUE jms queue and I can see the file name in a JMS property(key/value pair).
    ACTION_NAME contentType:text/plain; name=EDI.FCSMFCSMSAPT_RTN1205010000.txt;filename:EDI.FCSMFCSMSAPT_RTN1205010000.txt
    But when I have created a JMS channel (with my custom JMS queue) in my host trading partner and have incorporated that JMS channel in the in the agreement I can't see the above propery though the message is getting enqueued in the queue. I can see a bunch of jms properties except the ACTION_NAME.
    I can't use B2B_IN_QUEUE as it is being used by other applcations.
    Please urgently help.
    Regards,
    Anindya

    Seems like you are hitting a known bug. Please log a SR with support.
    Regards,
    Anuj

  • Extract actual file name from the filepath

    I have a String something like
    String str ="C:\Documents and Settings\abc\Desktop\file_Aug_2007.xls";
    how can i extract the substring file_Aug_2007.xls with or without using io apis
    Regards,
    ivin

    ivinjacob wrote:
    I have a String something like
    String str ="C:\Documents and Settings\abc\Desktop\file_Aug_2007.xls";
    how can i extract the substring file_Aug_2007.xls with or without using io apis
    Regards,
    ivinHi Ivin,
    First, you will need to use double backslashes in your file path; \ is an escape character so for literal strings you have to double them up.
    String str ="C:\\Documents and Settings\\abc\\Desktop\\file_Aug_2007.xls";For the next part, you don't need anything terribly fancy; the backslashes in your file should be plenty to find the filename.
    From the String class, use the substring(int beginIndex, int endIndex), lastIndexOf(String str), and length():
    String sub;
    sub = str.substring(str.lastIndexOf("\\") + 1, str.length()); I hope that helps.
    Thok

  • Extract the File Name with extension on double clicking it

    Hi All,
    I have created on program in java and also created its exe file.
    The application store all the files you have selected in one directory, zip the folder and give the desired extension.
    example myApplication.fgc
    Now. I need to create an application which on double clicking the myApplication.fgc create the folder myApplication and store all the files i have selected.
    Please help me in this.
    Thanks in advance.

    I think you are talking about unzipping or extracting the contents
    of the Zip file. Use the API in 'java.util.zip'
    For code refer to
    http://www.javaalmanac.com
    There you would find the code!!
    Good luck!!

  • Preserving File Name

    Is there any way to force Contribute to overwrite files?
    We update our site daily and as a result, each time new
    images are loaded contribute adds a number to the end of the file,
    there are hundreds of "old files" example 'image_134.jpg.
    Is it not possible to rename the previous version example
    'image_old.jpg, incase we need to roll back.
    This makes cleaning the web server a real pain...
    Richie

    Thanks lmartinez,
    Maybe I should try and clarify. On some of our pages there
    are several images which are updated each day, the naming
    convention for these file is image_name_1.jpg, image_name_2.jpg and
    so on. When the pages are being are being updated the new images,
    which are saved on the local computer, will have their filenames
    changed to image_name_1_000.jpg and image_name_2_000.jpg and so on
    and after a few days of this we will have files called
    image_name_1_145.jpg and 145 dormant images sitting on the web
    server.
    Richie

  • Original file name preserved in metadata but not being found in searches (Mac)

    I have a large collection of images (a mix of raw, tif, and jpg files) that I would like to rename. Because some are referred to in other documents by their original names, and because I can't track down every single version that might exist in other folders, I would like to preserve their original (current) filenames in their metadata so that searching for these old names will locate the renamed files.
    I experimented by renaming a few JPGs with the "Preserve current filename in XMP Metadata" option checked. While the original filename does appear in the metadata under "Camera Raw," it does not turn up in searches performed using command-f (in Finder), Spotlight, or even Bridge. I have not yet tried this on TIFs or raw files, but:
    What am I doing wrong?
    Technical details:
    Bridge CS6
    Mac OS 10.6.8
    MacBook Pro
    Final note: Bridge does not seem to generate a sidecar xmp file. Would it do this for a jpg?
    Thank you for the help!

    I tried it and it works for me.  It inserts the preserved filename under the filename line.  You probably need this field checked in metadata preferences.
    It looks like the preserved file name is stored in the XMP sidecar data.  I tried a test Find but the preserved filename does not show up.
    If one slips up on the batch rename, or go back to original, one can revert to original by going back to batch rename and selecting "preserved filename" in new filenames box.

  • Extract file name for size gt 10M

    Hi
    I am writing a script to extract the file name whose size is greater than 10M. What I wrote is as follows:
    export LIST=`ls -ltr | awk '{print $5 ,$9}'`
    for SUBLIST in ${LIST}; do
    echo ${SUBLIST}
    export SUBLIST1A=`echo ${SUBLIST} | awk '{print $1}'`
    export SUBLIST1B=`echo ${SUBLIST} | awk '{print $2}'`
    echo ${SUBLIST1A}
    echo ${SUBLIST1B}
    ###### if [[ $SUBLIST1A -gt 10000000 ]]; then
    if ( '100000000' -gt '10000000' ); then
    #echo "KITCARSON File size \> 10M : $SUBLIST1B" | mailx -s "File Size Alert" $[email protected]
    echo "KITCARSON File size \> 10M : $SUBLIST1B" | mailx -s "File Size Alert" [email protected]
    fi
    done
    But this does not seem to be working. Can somebody help me with this.
    Any help would be appreciated.
    thanks

    you can use the find command to do the same thing..
    #find . -size +10000000c
    ./core.7.Z
    ./T111685-09.tar.Z
    ./eleven
    this will print out all files greater than 10MB in size.Check man pages for find.
    cheers
    -Dhruva

  • How to get the target file name from an URL?

    Hi there,
    I am trying to download data from an URL and save the content in a file that have the same name as the file on the server. In some way, what I want to do is pretty similar to what you can do when you do a right click on a link in Internet Explorer (or any other web browser) and choose "save target as".
    If the URL is a direct link to the file (for example: http://java.sun.com/images/e8_java_logo_red.jpg ), I do not have any problem:
    URL url = new URL("http://java.sun.com/images/e8_java_logo_red.jpg");
    System.out.println("Opening connection to " + url + "...");
    // Copy resource to local file                   
    InputStream is = url.openStream();
    FileOutputStream fos=null;
    String fileName = null;
    StringTokenizer st=new StringTokenizer(url.getFile(), "/");
    while (st.hasMoreTokens())
                    fileName=st.nextToken();
    System.out.println("The file name will be: " + fileName);
    File localFile= new File(System.getProperty("user.dir"), fileName);
    fos = new FileOutputStream(localFile);
    try {
        byte[] buf = new byte[1024];
        int i = 0;
        while ((i = is.read(buf)) != -1) {
            fos.write(buf, 0, i);
    } catch (Throwable e) {
        e.printStackTrace();
    } finally {
        if (is != null)
            is.close();
        if (fos != null)
            fos.close();
    }Everything is fine, the file name I get is "e8_java_logo_red.jpg", which is what I expect to get.
    However, if the URL is an indirect link to the file (for example: http://javadl.sun.com/webapps/download/AutoDL?BundleId=37719 , which link to a file named JavaSetup6u18-rv.exe ), the similar code return AutoDL?BundleId=37719 as file name, when I would like to have JavaSetup6u18-rv.exe .
    URL url = new URL("http://javadl.sun.com/webapps/download/AutoDL?BundleId=37719");
    System.out.println("Opening connection to " + url + "...");
    // Copy resource to local file                   
    InputStream is = url.openStream();
    FileOutputStream fos=null;
    String fileName = null;
    StringTokenizer st=new StringTokenizer(url.getFile(), "/");
    while (st.hasMoreTokens())
                    fileName=st.nextToken();
    System.out.println("The file name will be: " + fileName);
    File localFile= new File(System.getProperty("user.dir"), fileName);
    fos = new FileOutputStream(localFile);
    try {
        byte[] buf = new byte[1024];
        int i = 0;
        while ((i = is.read(buf)) != -1) {
            fos.write(buf, 0, i);
    } catch (Throwable e) {
        e.printStackTrace();
    } finally {
        if (is != null)
            is.close();
        if (fos != null)
            fos.close();
    }Do you know how I can do that.
    Thanks for your help
    // JB
    Edited by: jb-from-sydney on Feb 9, 2010 10:37 PM

    Thanks for your answer.
    By following your idea, I found out that one of the header ( content-disposition ) can contain the name to be used if the file is downloaded. Here is the full code that allow you to download locally a file on the Internet:
          * Download locally a file from a given URL.
          * @param url - the url.
          * @param destinationFolder - The destination folder.
          * @return the file
          * @throws IOException Signals that an I/O exception has occurred.
         public static final File downloadFile(URL url, File destinationFolder) throws IOException {
              URLConnection urlC = url.openConnection();
              InputStream is = urlC.getInputStream();
              FileOutputStream fos = null;
              String fileName = getFileName(urlC);
              destinationFolder.mkdirs();
              File localFile = new File(destinationFolder, fileName);
              fos = new FileOutputStream(localFile);
              try {
                   byte[] buf = new byte[1024];
                   int i = 0;
                   while ((i = is.read(buf)) != -1) {
                        fos.write(buf, 0, i);
              } finally {
                   if (is != null)
                        is.close();
                   if (fos != null)
                        fos.close();
              return localFile;
          * Returns the file name associated to an url connection.<br />
          * The result is not a path but just a file name.
          * @param urlC - the url connection
          * @return the file name
          * @throws IOException Signals that an I/O exception has occurred.
         private static final String getFileName(URLConnection urlC) throws IOException {
              String fileName = null;
              String contentDisposition = urlC.getHeaderField("content-disposition");
              if (contentDisposition != null) {
                   fileName = extractFileNameFromContentDisposition(contentDisposition);
              // if the file name cannot be extracted from the content-disposition
              // header, using the url.getFilename() method
              if (fileName == null) {
                   StringTokenizer st = new StringTokenizer(urlC.getURL().getFile(), "/");
                   while (st.hasMoreTokens())
                        fileName = st.nextToken();
              return fileName;
          * Extract the file name from the content disposition header.
          * <p>
          * See <a
          * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html">http:
          * //www.w3.org/Protocols/rfc2616/rfc2616-sec19.html</a> for detailled
          * information regarding the headers in HTML.
          * @param contentDisposition - the content-disposition header. Cannot be
          *            <code>null>/code>.
          * @return the file name, or <code>null</code> if the content-disposition
          *         header does not contain the filename attribute.
         private static final String extractFileNameFromContentDisposition(
                   String contentDisposition) {
              String[] attributes = contentDisposition.split(";");
              for (String a : attributes) {
                   if (a.toLowerCase().contains("filename")) {
                        // The attribute is the file name. The filename is between
                        // quotes.
                        return a.substring(a.indexOf('\"') + 1, a.lastIndexOf('\"'));
              // not found
              return null;
         }

  • File-name not being fetched in a multi-message mapping by Dynamic Conf

    In a scenario, i have a BPM which has a transformation step which contains a mutimapping ...means 2 messages mapped to 1 messgaes, here in the mapping i m using an UDF and written code to extract the file name from dynamic configuration.....
    the problem is ...the same BPM contains another transformation step which contains a message mapping (which is not multi mapping), and here the code (UDF) works to fetch the file name...
    the code is all correct....and it looks like
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String sourceFileName = conf.get(key);
    if (sourceFileName == null ){
    sourceFileName = "ErrorFile.xml";}
    return sourceFileName;

    Hi,
    The scenario I am trying to test is a multi mapping scenario where I am trying to split one source message and create two target messages by using two different receiver interfaces, one for each message.
    I am on PI 7.1 and when I test message mapping and operation mapping using the payload from SXMB_MONI, it is successful. Whereas when I test the scenario end to end I am getting the following error messages:
    Operation Mapping
    Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
    Name
    Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
    Namespace
    http://accenture.com/1:N_multi-mapping
    Runtime error
    Split mapping created no messages
    Start tag ns0:Messages Add raw attribute xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge" Start tag ns0:Message1 Close tag ns0:Message1 Start tag ns0:Message2 Close tag ns0:Message2 Close tag ns0:Messages
    Could someone please help
    Cheers,
    S

  • File name cant be fetched from Dynamic configuration...mutli-mapping used

    In a scenario, i have a BPM which has a transformation step which contains a mutimapping ...means 2 messages mapped to 1 messgaes, here in the mapping i m using an UDF and written code to extract the file name from dynamic configuration.....
    the problem is ...the same BPM contains another transformation step which contains a message mapping (which is not multi mapping), and here the code (UDF) works to fetch the file name...
    the code is all correct....and it looks like
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String sourceFileName = conf.get(key);
    if (sourceFileName == null ){
    sourceFileName = "ErrorFile.xml";}
    return sourceFileName;

    Hi,
    Yes u r correct it will show error in operation mapping.. bcoz u cannot check the DynamicConfiguration in Operation mapping...
    It will throw Exception..
    The parameter to UDF depends on ur requirement.... Let us know ur requirements exactly...
    If u r doing for file to file means no UDF required,, just check ASMA on both sides....
    Babu

Maybe you are looking for