Mutiple Objects , single file append

Hi,
I am getting UUIDs using the following Command:
get-wmiobject Win32_ComputerSystemProduct  | Select-Object -ExpandProperty UUID (http://www.waynehoggett.com/2009/08/get-local-computer-uuidguid-using.html)
how I can store the output on a network share that will append the itself if new record entered (UUID of a second machine)?
Also, can we get serial number or MAC as well, to differentiate which UUID belongs to which machine?
UUID         Serial           MAC
1234          Sssssss        ABCD
9876          Sxyz            A1B2C3
N.A.Malik

You would have to write a script that manages a file on the network
Here is an example
Get-WmiObject Win32_ComputerSystemProduct -computer system01 |
select name,uuid,IdentifyingNumber |
Export-Csv \\server\share\report.csv -append
Start by learning the basics of PowerShell and how to use PowerShell to create custom output.
Once you understand how to do the simple things you will be able to create your report.
Start here:
http://technet.microsoft.com/en-us/scriptcenter/dd793612.aspx
¯\_(ツ)_/¯

Similar Messages

  • How to read appended objects from file with ObjectInputStream?

    Hi to everyone. I'm new to Java so my question may look really stupid to most of you but I couldn't fined a solution by myself... I wanted to make an application, something like address book that is storing information about different people. So I decided to make a class that will hold the information for each person (for example: nickname, name, e-mail, web address and so on), then using the ObjectOutputStream the information will be save to a file. If I want to add a new record for a new person I'll simply append it to the already existing file. So far so good but soon I discovered that I can not read the appended objects using ObjectInputStream.
    What I mean is that if I create new file and then in one session save several objects to it using ObjectOutputStream they all will be read with no problem by ObjectInputStream. But after that if in a new session I append new objects they won't be read. The ObjectInputStream will read the objects from the first session after that IOException will be generated and the reading will stop just before the appended objects from the second session.
    The following is just a simple test it's not actual code from the program I was talking about. Instead of objects containing different kind of information I'm using only strings here. To use the program use as arguments in the console "w" to create new file followed by the file name and the strings you want save to the file (as objects). Example: "+w TestFile.obj Thats Just A Test+". Then to read it use "r" (for reading), followed by the file name. Example "+r TestFile.obj+". As a result you'll see that all the strings that are saved in the file can be successfully read back. Then do the same: "+w TestFile.obj Thats Second Test+" and then read again "+r TestFile.obj+". What will happen is that the strings only from the first sessions will be read and the ones from the second session will not.
    I am sorry for making this that long but I couldn't explain it more simple. If someone can give me a solution I'll be happy to hear it! ^.^ I'll also be glad if someone propose different approach of the problem! Here is the code:
    import java.io.*;
    class Fio
         public static void main(String[] args)
              try
                   if (args[0].equals("w"))
                        FileOutputStream fos = new FileOutputStream(args[1], true);
                        ObjectOutputStream oos = new ObjectOutputStream(fos);
                        for (int i = 2; i < args.length ; i++)
                             oos.writeObject(args);
                        fos.close();
                   else if (args[0].equals("r"))
                        FileInputStream fis = new FileInputStream(args[1]);
                        ObjectInputStream ois = new ObjectInputStream(fis);
                        for (int i = 0; i < fis.available(); i++)
                             System.out.println((String)ois.readObject());
                        fis.close();
                   else
                        System.out.println("Wrong args!");
              catch (IndexOutOfBoundsException exc)
                   System.out.println("You must use \"w\" or \"r\" followed by the file name as args!");
              catch (IOException exc)
                   System.out.println("I/O exception appeard!");
              catch (ClassNotFoundException exc)
                   System.out.println("Can not find the needed class");

    How to read appended objects from file with ObjectInputStream? The short answer is you can't.
    The long answer is you can if you put some work into it. The general outline would be to create a file with a format that will allow the storage of multiple streams within it. If you use a RandomAccessFile, you can create a header containing the length. If you use streams, you'll have to use a block protocol. The reason for this is that I don't think ObjectInputStream is guaranteed to read the same number of bytes ObjectOutputStream writes to it (e.g., it could skip ending padding or such).
    Next, you'll need to create an object that can return more InputStream objects, one per stream written to the file.
    Not trivial, but that's how you'd do it.

  • Need help (desperately) '^_^ in writing multiple objects in a single file

    For all those Java guru out there please help me,
    I want to write a simple application that can serialize objects in a single file. Currently I know how to serialize one object in one file using the ObjectOutputStream's writeObject () method.But the problem is that if i have 10.000 objects to serialize then I will have 10.000 file in my HD. To simplify things I want to write those 10.000 objects in a single file. But I dont know how to do that, any one can help ??

    You can write any number of objects of any type into a file when you serialize them. You need to realize that once they're written to the file, they're all placed in there as type Object, so there really isn't any distinction between any of them. You don't have a file that contains only Shapes, or only Images. You write them out as Objects, and then you discover their types later as your deserialize them and read them in. You should read into the "Reflection" capabilities that all objects have. You write an Image to a file, and then a Shape, and then a Color, you can later pack these all into an ArrayList as you read them in, and when you use them discover their type using reflection.
    -Jason Thomas.

  • Multiple jobs writing to a single file

    Hi,
    My program requires me to create 20 jobs. Each job needs to write into a single file on the application server. I have tried using open dataset, transfer and close dataset approach but it doesn't work.
    I open the data set before submitting the report via jobs. in the each job the there is the transfer statement. When all jobs are completed close data set statement is triggered.
    When i run this code the jobs give a dump at the transfer statement stating that the data set is not open.
    Can anyone suggest a different approach to achieve this. I need to create a single file with all the processing details retrieved from the jobs.
    PS: I have also tried using EXPORT LIST TO MEMORY while submitting, but it gives me an error that we cannot use use this when submitting the report via jobs.

    The batch job cannot share the OPEN DATASET of the caller...
    You must open the DATASET in each job, and only one job at any time can do this if you  dont want unpredictable results.
    Lock
    Manage error code during OPEN form if another job is currently filling the dataset (DO/ENDDO) - Lock during OPEN/TRANSFER/CLOSE
    Locks
    The database interface does not have an integrated lock mechanism to ensure that only one ABAP program accesses a file at any one time. If several programs simultaneously gain write access to a file, this will have unpredictable results.
    To avoid this situation, SAP locks can be assigned, or unique file names such as GUIDs can be used.
    Look for an existing lock object or create a new one to insure this.
    OPEN DATASET Syntax
    OPEN/TRANSFER/CLOSE at end of each job to minimize lock time. Use FOR [APPENDING|http://help.sap.com/abapdocu_70/en/ABAPOPEN_DATASET_ACCESS.htm#&ABAP_ALTERNATIVE_2@2@] in [OPEN DATASET|http://help.sap.com/abapdocu_70/en/ABAPOPEN_DATASET.htm] statement
    Regards,
    Raymond

  • Multiple FileChannels on a Single File

    I wonder if anyone could help on this please: is it possible to have multiple filechannels on single file, basically I have a RandomAccessFile where I got my FileChannel from , any attempt for a getChannel on this RandomAccessFile object always return a unique FileChannel same as the previous one. is there anyway to get deferent FileChannels ? or may be any other way to get around this?

    Thanks Alan, for the replay, but actually I do not want to open the file many times, if I would to use what you have suggested: " FileChannel fc1 = new RandomAccessFile(f, "rw").getChannel();
    FileChannel fc2 = new RandomAccessFile(f, "rw").getChannel();"
    then this will open the file "f" many times.
    my question is : I would like to open the file once by " RandomAccessFile raf = new RandomAcessFile(f, "rw")" and then how could I get multiple channels on this raf ?
    any time I call raf.getChannel() it return a unique FileChannel object, say:
    FileChannel fic1 = raf.getChannel(); FileChannel fic2 = raf.getChannel();
    fic1 and fic2 are eventually the same, so any attempt to manipulate fic1 would affect fic2; say the cursor position and so on.

  • Not able to update single file in a non ejb Module related jar

    Hey all,
    I have depoyed my j2ee application <b>.ear</b> on NW webAS .
           This application apart from having all the ejb Modules related jar, <b>also has a jar which has all my properties files</b> being accessed by my application.
    Very often is it required by me to update these files and restart the application. However i couldnot find a way to update these single files.
    When i select by deployed application.ear and click <b>Single File Update</b> feature provided by SAP in visual Admin, it shown only ejb modulerelated jar. It dosent show my jar containing properties file.
    I have to redeploy my application again everytime i change a small properties file.
    Please let me if there is a way to update these sngle files

    Hi,
    >
    Vikram D Salvi wrote:
    > MOVE-CORRESPONDING ZSTRUC_CM TO I_TAB.                                                                            not working
    >
    > UPDATE ZTEST_CM FROM ZSTRUC_CM.                                                                                not working
    Instead of the move statement you need to use the append work area to internal table statement. you need to have the same structure for the work area and the internal tbale.
    Then use the modify data base table from internal table statement.
    Regards
    Ansari

  • Storing arrays in a single file!!

    Hello all,
    Is it possible to store two arrays into a single file either separately or together as a POJO. How to accomplish this??..Need some guidance

    try DataInputStream and DataOutputStream
    ObjectInput/OutputSTream is used to store Object which use more space.

  • How do I extract multiple tracks from a CD into a single file in Audition CS6?

    I use Audition to edit my Pastor's messages. The message CD is made with five minute tracks. I want to extract the tracks from the CD into a single file for editing and altering the track lengths. I have done this before in Audition CS6, but I haven't been able to find instructions for it. I only found a note stating this is available in AuditionCC.

    I have discovered an answer to my problem. The way to bring multiple tracks into Audition CS6 from a CD is to use the FILE / OPEN APPEND / TO NEW command. This brings the separate tracks into a single file in Audition CD6. Thanks to everyone who commented.

  • Problem in reading no. of files and writing into a single file

    Hi,
    Iam with Problem in reading no. of files and writing into a single file....
    Iam reading no. of files stored in local directory.......
    Iam able to read and print the data in files successfully....but while writing..only first file is being written...and the next files are not written in my output file...
    plz tell me my mistake....I hope Iam doing some mistake while writing into file...PLz help.....
    Basically my code structure is like this....
    import java.io.*;
    import java.util.regex.*;
    import java.util.*;
    import java.text.*;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    class Writing {
    public static void main(String args[]) throws Exception {
              FileOutputStream fileOut = new FileOutputStream("ServerResult.xls"); //my output file
              int counter = 1;
              File dir = new File("C:/Perform/ServerLogs");
              String[] children = dir.list();
              if( children == null)
                   System.out.println("The Directory mentioned does not exist");
              else {
                   for (int fileNo = 0; fileNo < children.length; fileNo++ ) {        //Files iteration starts
                        String filename = children[fileNo];
              File logFile = new File(filename);
    FileReader logFileReader = new FileReader(logFile);
    BufferedReader logReader = new BufferedReader(logFileReader);
    StringBuffer sBuf = new StringBuffer(5000);
              HSSFWorkbook wb = new HSSFWorkbook();          
              HSSFSheet sheet = wb.createSheet();
              HSSFRow rowTitle;
              HSSFRow rowReq;
              HSSFRow rowRes;
    String aLine = null;
    boolean skip = false;
    boolean readed = false;
    boolean initReq = false;
              boolean flag = false;
    long requestTime = 0;
    long responseTime = 0;
    long recdTime = 0;
    long sentTime = 0;
              long hasTime = 0;
              long presentTime = 0;
              int hasCalls = 0;
    Pattern startMessage = Pattern.compile("^<MESSAGE.*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    Pattern requestMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"RequestMsg.\".*ID=\".*_"+args[0]+"\".*<ActName>(.*)</ActName>.*", Pattern.DOTALL);
    Pattern requestMessage1 = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"RequestMsg.\".*ID=\".*_"+args[0]+"\".*<Svc id=\"(.*)\">.*", Pattern.DOTALL);
    Pattern responseMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"ResponseMsg\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    Pattern initMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"HostConnInit\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    Pattern initResMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"ResponseMsg\".*ID=\"null\".*", Pattern.DOTALL);
    Pattern initResIDMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"ResponseMsg\".*ID=\"null\".*<IATA>"+args[0]+"</IATA>.*", Pattern.DOTALL);
              Pattern sentMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"DCMsgSentInfo\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
              Pattern rcvdMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"DCMsgRcvdInfo\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    DecimalFormat dcf = new DecimalFormat("########.##");
    String actName = "";
              if (fileNo ==0)
              rowTitle = sheet.createRow((short)0);
              rowTitle.createCell((short)0).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)0).setCellValue("Req/Res");
              rowTitle.createCell((short)1).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)1).setCellValue("Action");
              rowTitle.createCell((short)2).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)2).setCellValue("Server Time(in ms)");
              rowTitle.createCell((short)3).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)3).setCellValue("Request Vs Response Time in Server(in ms)");
              rowTitle.createCell((short)4).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)4).setCellValue("Time Taken By HAS/HOST(in ms)");
              rowTitle.createCell((short)5).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)5).setCellValue("No. of HAS calls");
              rowTitle.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)6).setCellValue("Data Size");
              //wb.write(fileOut);
    while((aLine=logReader.readLine()) != null) {
    if(aLine.startsWith("<MESSAGE TYPE=\"EVENT\"")) {
    Matcher m = startMessage.matcher(aLine);
    if(m.find()) {
    sBuf.setLength(0);
    sBuf.append(aLine);
    skip = false;
    initReq = false;
    m = initMessage.matcher(aLine);
    if(m.find()) {
    initReq = true;
    } else {
    if(initReq) {
    m = initResMessage.matcher(aLine);
    if(m.find()) {
    sBuf.setLength(0);
    sBuf.append(aLine);
    skip = false;
    } else if(aLine.startsWith("</MESSAGE>")) {
    if(!skip) {
    sBuf.append(aLine);
    readed = true;
    } else if(!skip){
    sBuf.append(aLine);
    if(!skip && readed) {
    String tempStr = sBuf.toString();
    if(tempStr.length() > 0) {
    boolean reqMatched = false;
    Matcher m = null;
    if(initReq) {
    m = initMessage.matcher(tempStr);
    actName = "Intialization";
    } else {
    m = requestMessage.matcher(tempStr);
    String time = "";
    if(m.find()) {
    reqMatched = true;
    for (int i=1; i<=m.groupCount(); i++) {
    String groupStr = m.group(i);
    if(i == 1) {
    time = groupStr;
    } else if(i == 2) {
    actName = groupStr;
    } else if(!initReq){
    m = requestMessage1.matcher(tempStr);
    if(m.find()) {
    reqMatched = true;
    for (int i=1; i<=m.groupCount(); i++) {
    String groupStr = m.group(i);
    if(i == 1) {
    time = groupStr;
    } else if(i == 2) {
    actName = groupStr;
    if(time.length() > 0 ) {
    try{
    requestTime = sdf.parse(time).getTime();
    }catch(Exception ex){}
    System.out.println("Request,"+actName+","+time+",,,,"+dcf.format(((double)time.length()/1024.0))+"K");
                                  //bw.write("Request,"+actName+","+time+",,,,"+dcf.format(((double)time.length()/1024.0))+"K");
                                  String reqDataSize = dcf.format(((double)time.length()/1024.0))+"K" ;
                                  rowReq = sheet.createRow((short)counter);
                                       rowReq.createCell((short)0).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)0).setCellValue("Request");
                                       rowReq.createCell((short)1).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)1).setCellValue(actName);
                                       rowReq.createCell((short)2).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)2).setCellValue(time);
                                       rowReq.createCell((short)3).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)3).setCellValue("");
                                       rowReq.createCell((short)4).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)4).setCellValue("");
                                       rowReq.createCell((short)5).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)5).setCellValue("");
                                       rowReq.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)6).setCellValue(reqDataSize);
                                       counter = counter +1;
                                       System.out.println("counter is "+counter);
                             Matcher l = sentMessage.matcher(tempStr);
                             Matcher k = rcvdMessage.matcher(tempStr);
                   if(l.find()) {
                                            for (int i=1; i<=l.groupCount(); i++) {
         String groupStr2 = l.group(i);
    try{
    sentTime = sdf.parse(groupStr2).getTime();
    }catch(Exception ex){}
                        if(k.find())
                                                 for(int j=1;j<=k.groupCount(); j++) {
                                                 String groupStr1 = k.group(j);
                                                 try{
    recdTime = sdf.parse(groupStr1).getTime();
    }catch(Exception ex){}
                                                 presentTime = (recdTime - sentTime);
                                                 hasTime = hasTime + presentTime;
                                                 hasCalls = hasCalls +1;
    if(!reqMatched) {
    if(initReq) {
    m=initResIDMessage.matcher(tempStr);
    } else {
    m=responseMessage.matcher(tempStr);
    if(m.find()) {
    for (int i=1; i<=m.groupCount(); i++) {
    String groupStr = m.group(i);
    try{
    responseTime = sdf.parse(groupStr).getTime();
    }catch(Exception ex){}
                                                 String resDataSize = dcf.format(((double)tempStr.length()/1024.0))+"K" ;
                                                 rowRes = sheet.createRow((short)(counter));
                                                 rowRes.createCell((short)0).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)0).setCellValue("Response");
                                                 rowRes.createCell((short)1).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)1).setCellValue(actName);
                                                 rowRes.createCell((short)2).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)2).setCellValue(groupStr);
                                                 rowRes.createCell((short)3).setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                                                 rowRes.createCell((short)3).setCellValue((responseTime - requestTime));
                                                 rowRes.createCell((short)4).setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                                                 rowRes.createCell((short)4).setCellValue(hasTime);
                                                 rowRes.createCell((short)5).setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                                                 rowRes.createCell((short)5).setCellValue(hasCalls);
                                                 rowRes.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)6).setCellValue(resDataSize);
                                                 hasTime = 0;
                                                 hasCalls = 0;
                                                 counter = counter + 1 ;
    sBuf.setLength(0);
    readed = false;
              wb.write(fileOut);
              } // End of for (int fileNo = 0; fileNo < children.length; fileNo++ )
    }     //End of else
              fileOut.close();
    } //End of public static void main
    } // End of Class

    First of all, use [code]-tags to make your code readable, please.
    I didn't do a complete inspection of your code (because it's too much and unreadable as it is) and I don't know POI, but creating a new HSSFWorkbook for each input file sounds fishy to me ... try re-using the workbook and just creating a new sheet in each iteration.

  • Multiple Idocs (DEBMAS06) into one single file

    Hi All,
    Multiple Idocs(DEBMAS06) are sent from SAP in bulk to be sent to FTP server via XI...(Cannot use Append the file as The structure is with Header,Detail(all the idoc details) and Trailer)
    I have seen different threads which speaks about the same,
    But Please suggest me the best approach to proceed with this kind of scenario...
    Multiple IDocs -> XI -> Flat file which is speaking about BPM and also Packaging(SAP note 814393)
    and https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30ea2fdf-f047-2a10-d3a2-955a634bde6b
    (How Tou2026 Send Multiple IDocs Within One XI Message)
    I prefer not to use BPM... but if required then....
    Please suggest me which is the best approach to proceed with it..
    Thanks and Regards,
    Sridhar Reddy

    Hi ,
    I had tried the scenario Multiple IDOC's coming from R/3 and send all of them into a Single File
    But it did not work...
    Of course i changed as Micahel mentioned in
    The specified item was not found.
    (Collect and make pack size to 50) but still the idocs are posting as 50 messages in XI and 50 files are being created ...
    But as per his remarks we need customization which is very difficult...
    And also i checked Michaels blog
    The specified item was not found.
    But this is dicussing reverse of my scenario...
    and finally i am thinking of going with the stefens weblog...
    Collecting IDocs without using BPM
    Can any one please suggest any other best way to handle this...
    Instead of going for BPM i am implementing as Stefen suggested ... This is because we have many such interfaces where SAP sends collective idocs....
    Regards,
    Sridhar Reddy
    Edited by: sridhar reddy kondam on Oct 22, 2008 6:20 AM

  • Sending multiple IDocs (all in single file) to FTP via XI

    Hi All,
    We have a requirement as below where we are looking for various feasible solutions.
    The requirement is to collect multiple IDocs in ERP (2000-5000 in number) per day (either Flat File or XML) and needs to be sent as a single File (which has all these IDocs) to FTP Server via XI.
    BPM is not allowed to use and we are working on PI 7.0, so IDoc packaging is also not applicable. There is no mapping required, we need to just route them to FTP from ERP System.
    Looking forward for various solutions.
    Regards,
    N. Jayanth Kumar.

    Hi,
         Using the XML file port at R/3 to collect the Idocs would be a feasible solution. Also, as Sunil as already pointed out, you can configure this as a pass through interface, which will improve your overall processing time.
    Another solution can be to pass the Idocs to PI and then use the append mode in the receiver file adapter to collect the days idoc into a single file.
    To append only idocs for a particular day, try using dynamic filename, where file would have the date in it. This way, only Idocs for a particular day would be appended.
    Regards

  • Search multiple folders and muiltiple files and combine to single file

     I want to search multiple folders for muliple files and combine to single file name. The files I'm searching have same format, but where named
    differently in each of there processes. Now I want to combine based upon -SearchFor .. I'm having a problem with -Filter $SearchFor
    Code:
    Function Search-Files{
    Param([String[]]$Locations,[String[]]$SearchFor, $AppendTo)
    Begin
    If(-Not (Test-Path $AppendTo)){New-Item $AppendTo -ItemType File -Force}
    Process
    ForEach($Location in $Locations)
    $Files = Get-ChildItem -Path $Location -Filter $SearchFor -Recurse
    ForEach($File in $Files)
    Get-Content -Path $FIles.FullName | Out-File $AppendTo -Append
    End{}
    Search-Files -Locations "\\servera\public\t1\usa\saleshist\","\\serverb\public\t2\usa\saleshist\",-SearchFor "dodetail-cm.txt","somstr.txt",-AppendTo "\\virt1\Saleshist_data_load_files\saleshdr.load.csv"

    I think you might want to use -Include instead of -Filter.  Your -Include parameter accepts wildcards, i.e. *.docx or *somstr.txt
    Your command to actually append the content should be:
    Get-Content -Path $File.FullName | Out-File $AppendTo -Append
    You had $Files.FullName which might behave unexpectedly, if at all.
    Your actual command has several issues.
    Search-Files -Locations "\\servera\public\t1\usa\saleshist\","\\serverb\public\t2\usa\saleshist\" -SearchFor "dodetail-cm.txt","somstr.txt" -AppendTo "\\virt1\Saleshist_data_load_files\saleshdr.load.csv"
    You had commas following the lists of locations and searchfor terms, did that even work? Without seeing your source files or your target file I can only advise you so much, but ideally you would import-csv and export-csv.  Depending on the contents,
    you may be able to get away with get-content and out-file though.
    I hope this post has helped!

  • Multiple files in different directory using single FILE adaptor

    Hi Guys,
    How can we handle multiple files having different format(PDF,TXT,EXCEL) and in different directory with the single FILE adaptor.
    I know by using "." we ca get mutilple files, but here tthe files are of different format and in different directory.
    Could you please explain as to how we can handle this scenarios?
    Thanks
    Sahil

    Hi,
    The short answer is - "No".
    The Long Question - "Why do you want to use a SINGLE channel".
    If your idea is to reuse the interface then dont worry... Except for the Senderchannel and Sender agreement all your other objects can be reused ...provided your sender apter converts the different files into the same XML format..
    For TXT you can use the simple file adpater..
    For excel see if you can use save the file as .CSV format...then you can use it directlky by the simple FIle adapter..
    For PDF use conversion agent... Here a blog to get u started on that ->
    /people/shabarish.vijayakumar/blog/2009/05/17/trouble-writing-out-a-pdf-in-xipi
    regards
    Arvind R

  • Multiple flat files appended, is file locked until all processed?

    Hi All,
    Have a scenario in place where we are collecting multiple flat files on ECC and using append mode on the receiver file adapter to create a single file for final output. We are only interested in submitting the output to it's target after all files sent to PI have been appended.
    Does PI 7.0 lock the appended file until all files have been appended so I am sure I end up with a complete single file on output? If not, what are my options to ensure a completely appended file is output? Would it be a viable option to pass the appending file through another sender file adapter using 'msecs to wait before modification check'?
    Thanks!
    Don
    Edited by: donald.meredith on Dec 1, 2011 2:31 PM

    How many files are you collecting from ECC and appending at receiver side and how much time it is taking to complete the process?
    if its possible to schedule your business to read data from FTP after completing append then no worries, else sometimes it creates trouble.
    The option you mentioned is reliable one , but you ended up creating one more interface.
    Regards,
    Raj

  • Log messages from multiple instances in single file.

    Hi!
    I have a requirement that i need to log messages from muliple instances of the same object in a file. The new file will be created every day. Likewise, multiple objects might have various instances each.
    One class
    ->multiple instances
    -> log message stored in single file.
    Note :
    I am using the Message driven bean. I need to log from the bean class. JDK 1.3
    If u could help me out that would be great.

    As long as they are all from the same OS program (a single Java VM), that's OK - you can use Log4j, and use a rotating file logger.
    If you point two different virtual machine processes at the same file, one may have it open when the other is trying to rotate it, and your rotation may fail (at best) and/or you may lose the old log (the worst case).
    If you need to collect log messages from multiple processes (or even multiple machines), use a syslog-based logger (Log4j has a SyslogAppender) or use Log4j's SocketAppender to write to a log4j-builtin log listener (SocketNode).

Maybe you are looking for