Batch file results going different directorys

I am calling a batch file to run from the execute exe action with TestStand. The results from the call go to the calling directory or sometimes to the TestStand 3.5 directory. When I run directly from windows the results always go the calling directory. In the TestStand search paths I have removed the TestStand 3.5 directorys and have put the calling directory on the first search line.
   Does anyone have any idea why this is happening or what I can do to direct the output file?
Thanks

NiNewbee,
It seems that you have an exe or batch that generates an output file.
When you run the batch file by itself the "working directory" is the directory where the batch file is located, that is why the output file is generated in the same directory.
When you run the batch from another process the working directory is not neccessary the directory where the batch file is located. In this case if you run it from TestStand the working directory would be the TestStand directory.
If you want to generate your output file in the same directory all the time, you have two possible solutions:
1. Pass the target path as an argument to your batch file.
2. Change your working directory  (CHDIR) before executing your batch file and change it back when you are done generating the output file.
Hope it helps.
Antonio Lie.

Similar Messages

  • Executing a batch file (.bat) on a different PC

    Hi,
    Is it possible to execute a batch file on a different pc.
    Look at the following piece of code.
    import java.io.*;
    public class StartRemoteCmd {
         public static void main(String[] args) throws IOException
              System.out.println("Starting remote Command");
    Process p = Runtime.getRuntime().exec("\\\\Itop001\\Tomcat\\commons-net-1.0.0\\setclasspath.bat");
              if (p==null){
              System.out.println("Process is null");
              System.exit(1);
              System.out.println("Started remote Command");
    The machine ITOP001 has this setclasspath.bat...which sets classpath and has a java CustPgm.
    I want to start this CustPgm program on ITOp001 from my machine.
    Is it possible..? Am I doing some mistake in the code..pls suggest.
    Thanks guys

    Can't really add much to the online help:
    The AT command schedules commands and programs to run on a computer at
    a specified time and date. The Schedule service must be running to use
    the AT command.
    AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
    AT [\\computername] time [/INTERACTIVE]
        [ /EVERY:date[,...] | /NEXT:date[,...]] "command"
    \\computername     Specifies a remote computer. Commands are scheduled on the
                       local computer if this parameter is omitted.
    id                 Is an identification number assigned to a scheduled
                       command.
    /delete            Cancels a scheduled command. If id is omitted, all the
                       scheduled commands on the computer are canceled.
    /yes               Used with cancel all jobs command when no further
                       confirmation is desired.
    time               Specifies the time when command is to run.
    /interactive       Allows the job to interact with the desktop of the user
                       who is logged on at the time the job runs.
    /every:date[,...]  Runs the command on each specified day(s) of the week or
                       month. If date is omitted, the current day of the month
                       is assumed.
    /next:date[,...]   Runs the specified command on the next occurrence of the
                       day (for example, next Thursday).  If date is omitted, the
                       current day of the month is assumed.
    "command"          Is the Windows NT command, or batch program to be run.

  • Java and Batch File Issue - need urgent help

    I have a java program which calls a batch file. This batch file calls another java program. I want an option so that I can close this java program from main program.
    If i try process.destroy then it will call batch file and not java program.
    I can't go away with batch file.
    I will appreciate if someone can help me.

    khannap wrote:
    Hi, Thanks for the help but this doesn't seem solving my problem completely. I will appreciate if you can help more.
    I will explain you the scenario -
    1. There is java program provided as an external program to me.Only changes things slightly.
    2. This java program is called using batch file. When batch file is started this java program starts and listens on a socket for incoming data.I would want to wrap the launch of this java program in another JVM so we can use process.destroy().
    3. I am writing a program to check performance of the above java program. I want to call this java program from my program in a loop having some varying config data. When I run the loop first time I create a batch file at run time which executes the batch file provided by vendor. This batch file starts the socket. Once my message list is over then my loop goes to executing the batch file again with different config parameters. But this time I run into issue because my previous java program is not killed after message sending was over.Would it be acceptable to mung the 3rd party batch file to insert a wrapper JVM?
    Even if i use threads I don't think I can get rid of batch file.I did not suggest getting rid of batch files.
    So, I need to find a way so that when any iteration of loop is over then this socket program is killed. These 3rd party java programs - do they not have a "terminate" command you can put at the end of your message list?
    Even if i closed the socket from my client program that doesn't help because server is still listening and waiting for new client.
    I need to kill server which was started by batch file.On Linux it would be fairly simple to modify your batch file to determine what the process id is and send the process a signal to terminate it.
    Not sure what you can do on Windows.

  • Run a batch file from demantra workflow

    I am trying to run a batch file from demantra's workflow by creating an executable step.
    I am getting the following error.
    Error description ’’Invalid command line:’’"D:\Oracle Demantra Spectrum\Collaborator\demantra\sop\populate_staging.bat"
    I am giving the following value in command line of executable step.
    "#application_root#\sop\populate_staging.bat"
    The batch file exists in the appropriate folder.
    Following code is in the batch file.
    sqlldr userid=msdem/msdem@demsbx control=load_item_hier.ctl
    Please help me.
    Thanks

    This should work for you-
    Create a batch file on your current server (ODI) and write in the path to the other batch file on the other server.
    //Server2completename/D$/Path/yourbatchfile.bat
    From ODI call your batch file that you created on the same machine.. which will inturn call the other batch file on a different machine to execute batch client.
    Also can you paste the errors that you may be getting.. need to check if you are getting any specific issue related to this.
    Thanks
    Denzz

  • Batch file command

    Hi Guys I have this batch file called via ant build script.The batch file has 10 different function .Now i have this requirement to break it into smaller parts.
    Example the functionality should now be broken into three parts
    1)employee data processing
    2)employee working days
    3)employee salary
    4)employee promotion history
    1)employee data processing
    2)employee working days
    3)employee salary
    1)employee data processing
    2)employee working days
    4)employee promotion history
    Problem is absence of OR statment in batch file will force me to write this
    command in separate batch file.(I was trying to put it into one so that I dont have to repeat statments).Basically I was trying to execute target and target will execute the batch file with a parameter,which will then decide which functionality to execute , but in absence of OR is causing me some headache.Not able to decide the best strategy.
    help
    Yang Shetling

    Maybe I missed it, but where is the Java question?

  • Run a batch file from separate windows box to invoke DRM batch client

    I need your suggestions on the following. 
    ODI & DRM are installed on separate boxes.
    Now I want ODI to invoke a batch file (kept on DRM - Windows box, this batch file invokes DRM batch client to export the metadata). I tried using shared folder concept,but no success.
    Any pointers please?

    This should work for you-
    Create a batch file on your current server (ODI) and write in the path to the other batch file on the other server.
    //Server2completename/D$/Path/yourbatchfile.bat
    From ODI call your batch file that you created on the same machine.. which will inturn call the other batch file on a different machine to execute batch client.
    Also can you paste the errors that you may be getting.. need to check if you are getting any specific issue related to this.
    Thanks
    Denzz

  • Why are my exported files not going to me email?  I have used 3 different ones.

    Why are my exported files not going to my email (receipts & business card)?  I have used 3 different ones...2 yahoo and 1 hotmail.  I have checked spam box also.

    For the Receipts app I chose to export the info as a PDF file..an email was requested..I entered info and clicked send.  For the Business Card app I chose Send, not Print..an email was requested..I entered info and clicked send.  I haven't received anything, not even in my spam folder.

  • DSC powershell xwindowsprocess to execute batch file under different user account

    DSC powershell run under "NT AUTHORITY\SYSTEM".
    I am trying to execute a batch file under different user account using xwindowsprocess in DSC resource kit.
    I created a custom dsc resource with 3 parameters namely Exepath, Arguments, Credential.
    I received those parameter values in settargetresource method.
    CallPInvoke
    [Source.NativeMethods]::CreateProcessAsUser(("$ExePath "+$Arguments), $Credential.GetNetworkCredential().Domain, $Credential.GetNetworkCredential().UserName, $Credential.GetNetworkCredential().Password)
    I tested it by invoking a batch file and writing username under which it executes to a text file.
    After executing, the output text file still contains the "Systemname$".

    Configuration Sample_xService_ServiceWithCredential
    param
    [string[]]
    $nodeName = 'localhost',
    [System.String]
    $Name,
    [System.String]
    [ValidateSet("Automatic", "Manual", "Disabled")]
    $StartupType="Automatic",
    [System.String]
    [ValidateSet("LocalSystem", "LocalService", "NetworkService")]
    $BuiltInAccount="LocalSystem",
    [System.Management.Automation.PSCredential]
    $Credential,
    [System.String]
    [ValidateSet("Running", "Stopped")]
    $State="Running",
    [System.String]
    [ValidateSet("Present", "Absent")]
    $Ensure="Present",
    [System.String]
    $Path,
    [System.String]
    $DisplayName,
    [System.String]
    $Description,
    [System.String[]]
    $Dependencies
    Import-DscResource -Name MSFT_xServiceResource -ModuleName xPSDesiredStateConfiguration
    Node $nodeName
    xService service
    Name = $Name
    DisplayName = $DisplayName
    Ensure = $Ensure
    Path = $Path
    StartupType = $StartupType
    Credential = $credential
    $Config = @{
    Allnodes = @(
    Nodename = "localhost"
    PSDSCAllowPlainTextPassword = $true
    #Sample Scenarios
    $credential = Get-Credential
    Sample_xService_ServiceWithCredential -ConfigurationData $Config -Name "Sample Service" -DisplayName "Sample Display Name" -Ensure "Present" -Path "C:\DSC\TestService.exe" -StartupType Automatic -Credential $credential
    ¯\_(ツ)_/¯

  • How to execute a batch file on different remote server using TFS Build

    I have a build server and have 2 web servers. I am deploying using TFS Builds. Now, I have a requirement to execute a batch file which is kept on these 2 web servers. i.e. C:\MyBatch\CreateMe.bat
    After my build is successful, I need to execute this batch from the build server.
    Note, I cannot make any shared folder.

    Hi Sameer, 
    Thanks for your post.
    What’s the version of your TFS?
    How do you deploy solution using TFS Build, run MSBuild deploy command or using Release Management?
    That C:\MyBatch\CreateMe.bat file stay on your two web server machines separately? 
    If you want execute this bat file on your two web server machines separately using build process template, you need configure your web server machine as build agent, then add the InvokeProcess activity in build process template to run the bat file on build
    agent machine after build, please refer to Hari’s answer reply in this post:
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/b8bcb19f-1296-441c-8356-e701b949445a/tfs-2010-how-to-execute-a-batch-file-after-build?forum=tfsbuild.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Batch File to look at specific location in txt files

    Is there a way to have at batch file look at a specific line and location from a text file and pull it for use in the batch file?  For example, line 1 of sample.txt position ~15,8.
    I'm currently using the Find command(FIND /C "" *.TXT) but would like to be more specific in search.

    From a command line prompt, type 'help set' and look at environment variable expansion. Read the part that says "May also specify substrings for an expansion." It shows an example that uses ~10,5 to start at offset 10 and get the next 5 characters. Of course,
    this means that you will need to you will need to loop through each line. Use the FOR command; type 'help for' and start reading from "Some examples might help." It shows how you can parse a text file:
    FOR /F %%i IN (myfile.txt) do @echo %%i
    In a batch file, use two percent signs. At the command line, use one percent sign. 
    After the 'do' in the FOR command, you can use a CALL :Someprocedurename %%i, which would pass the line from the file into a sub and you can use the SET command to parse it.
    The Help mentions Command Extensions. At command prompt, type 'help setlocal' and read about ENABLEEXTENSIONS. At the bottom of the Help, they give you an example of how to add this to a batch file. You will need this to use the SET command to parse lines
    from the file.
    If you want to save the output, use the redirects, > or >> (create output file or append to output, respectively). Use the same for HELP output: help for > for-help.txt. In your line parser, you would do something more like this:
    [code]
    :ParseLine
    @echo %1 >> outputfile.txt
    exit /b
    GoTo :Eof
    [end code]
    To exit a sub, use either exit /b or goto :eof. Exit will allow you to return a value or error code. Goto :eof simply goes to end of file and returns control to the caller (in our case the FOR command). Of course, you can type 'help exit' to learn more.
    Outside of a subroutine, exit will end the batch file script and return to command prompt. This can be useful when you call this batch file from another script, but if you are starting it from Windows you may want to keep the command prompt open to show user
    the results or simply tell them to look at the output file.
    You can find good samples on Rob Van Der Woude's website.
    http://www.robvanderwoude.com/batchstart.php
    A major geek...

  • In batch file i want to execute sql commands

    in x.bat file i write the following
    sqlplus user/pass@host @c:\a.sql
    @c:\b.sql
    when i execute this batch file it is connected to the databse
    and the table of a.sql is created in the database.
    but b.sql is not created.
    it is creating only one table
    i want ot create more no of tables with different .sql files
    like @c:b.sql
    @c:c.sql
    @c:d.sql
    please any body help

    The problem you are running into is that SQL Plus only recognizes the first command you have written in the batch file.
    sqlplus user/pass@host
    SPOOL c:\master.log
    @c:\a.sql
    @c:\b.sql
    SPOOL OFF
    SQLPlus will recognize the spool and first sql command, but the batch file gets command back after the first sql command executes and doesn't recognize @c:\b.sql or know what to do with it. To run multiple SQL commands you have to create an external SQL file with all the sql commands in it with the Spool files you want created, then in the batch file you only call the one SQL script.
    Create a master file like so:
    -- Script Name : AllFiles.sql
    SPOOL c:\master.log
    @c:\a.sql
    @c:\b.sql
    SPOOL OFF
    In x.bat
    CALL SQLPlus user/password@database @AllFiles.sql
    This should get you your required results.

  • ESB Process reads a Batch file for a limited set of records only..?

    Dear All,
    I am having an ESB process that reads a Batch file (csv) that has around 10,000 Products information.
    I have another BPEL process that will create the Product in Oracle Apps through standard API (Main BPEL process that calls a child process for creating product).
    I am invoking the BPEL process from ESB, and that works fine.
    Now, the Issue is: I am able to create at a time around 10 Products (the main process calls the child process in a loop.). The main process instance is not getting created but the child process instance is getting created for a set of records, afterwards the child process instances get stops creating. The main process instance could not be found in the console. Not getting why the process is not getting visible as well it is not completing the process.
    What could be the problem for this... Am I need to change any environment configurations...?
    Please update...
    Many Thanks in advance...

    Does this apply to you?
    https://social.technet.microsoft.com/Forums/en-US/9ccd8e50-b0af-4f58-9787-6435834e4c52/dfsr-not-working-on-new-windows-2008r2-server
    Thanks for the link, but no - not the same scenario although the error is the same.   The RGs I'm working with are all in sync and communication is working, it's just getting the backlog reported correctly.
    To reiterate, I can paste two versions of the exact command into the DOS window buffer; one copied from OneNote and one copied from my batch file.  Executing the one from OneNote succeeds and reports the RG in sync and the one copied from the batch
    file fails.
    I can repeat the results by up arrow once to the command pasted into the buffer from the batch file and see it fail.  Then up arrow twice to retrieve the command pasted from OneNote into the buffer and it will report correctly (illustrated in the grahic).
    Let me add that the command in the batch file was originally copied from OneNote and pasted in to the batch file; as if going into the batch file somehow corrupts it.
    - a -

  • Batch File - Replace old version

    I have a Word document that I have created which contains several macros. This file is copied by other employees into different folders on the file server for them to use.  I often make admentments to the master copy and have to email this to everyone
    asking them to replace their versions with the latest.  This often doesn't happen meaning they are using an old version which can cause issues.
    What I am trying to do is create a batch file that I can run overnight that will search the file server (basically every folder and subfolder where the batch file is created - nothing higher) looking for an old version and replace it with a new
    version.  The file name contains the version.
    I have been using the below but it does not seem to be working. 
    for /F "tokens=*" %%P in ('dir /b /s "Menu v1.9.docm') do copy /Y .\"Menu v1.10.docm" "%%P"
    @Pause
    This is not something I have written myself as I don't normally write batch files.
    Can anyone help?

    I think somebody need to learn the basics of Windows.  You need to take some responsibility for understanding and writing your script.
    ¯\_(ツ)_/¯
    I'm not sure if i would call creating a batch file the basics of windows.
    I'm trying to understand it as best as I can.  I have changed it a bit to see if I can solve it but just can't, hence why I am asking for help.  I understand the process of it and most of the code but not things like Loc=%dI%~pI 
    Yes - learning would be helpful. Try the help.  SET /?
    I also suggest that, since you are not a trained batch scripter, that you learn PowerShell as it will be easier to understand.  Batch is pretty much obsolete except for those of us that like to play with it.  Iztislike jugging with both hands tied
    behind your back.
    PowerShell just works and it is much easier to learn.
    But, as you wrote in your initial post, you are not a technician and don't care to learn.  You want someone to do it for you.  I recommend looking for a consultant as they will be able to work closely with you to try and get you what you want.
    My suggestion is to stop inventing things without a good understanding of how to manage these things in a computer environment.  This solution is built into MSWord if only you would learn how to use it.  Word has global and group templates that
    can be changed in one location and will effect every copy of word in the network.  A good office consultant can show you how to use MSWord correctly.  You are using it like a fancy copy of notepad.  Why spend 300+ dollars per copy if you are
    only going to use it like notepad.  Notepad and Wordpad are free.
    Office is used everywhere because it does all of this for you.  You do not need to "sneakernet" a solution.
    ¯\_(ツ)_/¯

  • Running batch file error

    I have already tried to find some solution on Java Essential forum, not much success there. I hope someone might suggest something here.
    Design: one big file, split into chunks, recombined according to some order, feeded to some exe file, and finally compilation of results.
    Problem: I can run that smoothly with jdk, however, when I use Java beans I am running into troubles. I can split the file, create an order, recombine the files, but when I try to feed it to an exe file(through a batch file) i get this error:
    endfile record was detected in a READ statement (UNIT = 3). Error occurs at _MAIN__. A dubplicate file name exists or the file cannot be foundThe main method is something like this:
            s.split_ftn07() ;
            s.Define_Order() ;
            for (int i = 1 ; i < 11 ; i ++)
                s.re_combine(i) ;
                s.run_Fastran(i) ;
            s.ass_Result() ;my batch file:
    @echo off
    cd
    "C:\JBoss\jboss-4.0.5.GA\bin\Fastran\FASTRAN.EXE"
    ren FTN04 FTN04i
    :finishand my method that runs the batch file: (as soon as it pass the exec(), it opens the cmd.exe windows and displays the error message).
    public void run_Fastran(int x)
           try
               File ftn07_i = new File("C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\ftn07_" + x) ;
               File ftn07 = new File("C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\ftn07") ;
               ftn07_i.renameTo(ftn07) ;
               String path = "";
               path = "cmd /c start C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\FCall.bat";
               Runtime rt = Runtime.getRuntime();
               Process proc = rt.exec(path);
               String nameNew = "C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\FTN04-" + x + "-p12";//change p12 with the crack path input by user.
               File file = new File("C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\FTN04i");
               while (file.exists()==false)//until FTNO4i come into existence
                // File with new name
               File file2 = new File(nameNew);
                // Rename file
               file.renameTo(file2);
               File ftn07Back = new File("C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\ftn07") ;
               File ftn07_iBack = new File("C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\ftn07_" + x) ;
               ftn07Back.renameTo(ftn07_iBack) ;
               File ftn07_i_del = new File("C:\\JBoss\\jboss-4.0.5.GA\\bin\\Fastran\\ftn07_" + x) ;
               ftn07_i_del.delete() ;
           catch(Exception e)
               e.printStackTrace();
        }I am tired to figure out whats going on? Need some help here, will be greatly appreciated. Thanks

    Thanks to all, I really appreciate all the pains which all of you have taken in resolving my problem.
    It wasn't Java problem, rather batch file problem. I was only changing the directory, and was not providing for the exe file to run.
    @echo off
    cd  "C:\JBoss\jboss-4.0.5.GA\bin\Fastran"
    "C:\JBoss\jboss-4.0.5.GA\bin\Fastran\FASTRAN.EXE"
    ren FTN04 FTN04i
    EXIT
    :finishNow it is working fine.
    I did check the access permissions, no problem with that I guess. The problem was with the path. The batch file couldnt go pass bin directory, and I noticed that only today ;(. At any rate, I changed that and now it is all smooth and dandy.
    Once again, thanks a lot.

  • Logging Step results to different fields in adatabase

    Hi guys, would be great if you can help me out on this one:
    Imagine if I have 3 string test steps within a sequence, and I want to log the result of each of these steps in a different field (coulmn), what should I do?
    The main difficulty here is how to access the result of the steps individually, i.e, what parameter are they hidden under?
    I have been accessing the parameter: "Logging.StepResult.String", but this gives me result from all three steps at once, and I can only store the 3 results as different record in the same column.
    Thanks in advance!  

    Hi jack@nz,
    Are you using custom database steps in your sequence or process model to pull this information into the database or are you going to Configure»Database Options?  If you are doing the first method, could you send a screenshot of your sequence or the sequence file itself?  If you are doing the second option, are you customizing a schema, and if so, which one?
    Cheers,
    Kelly
    Cheers,
    Kelly R.
    Applications Engineer
    National Instruments

Maybe you are looking for

  • Dynamic Combo In Grid

    Is is possible to change the Values of a combobox based on a value in another field on that row on the grid. For example if field 1 = true then validvalues of the CB are 1,2,3 if it is False  then the valid values are 4,5,6 I have tried the ItemPress

  • TS2446 How can I correct the spelling of my security questions

    How can I correct the spelling of my answers to security questions

  • I receive an error 150:30

    Hi there, I have Master Collection CS4. I am running fine on iMac and Macbook pro, then had my macbook pro stolen (so therefore I cannot deactivate). I have a new MacBook pro retina edition and when I migrated applications and data from my time capsu

  • Standalone Mac OSX version of Acrobat 9 serial number invalid

    Hello. I purchased Acrobat 9 in September 2009 and then my computer died. I went to re-install it on my new MacBook Air (OSX 10.9.3), by downloading it from the link provided in the 'orders' section of the Adobe website and entering the serial number

  • F90 version 8.5 INTERNAL COMPILER ERROR

    Hi, Check the following program: program p TYPE :: boxnode TYPE (boxnode), POINTER :: lft END TYPE boxnode TYPE (boxnode), pointer :: ra1(:) TYPE (boxnode), pointer :: ra2(:) integer :: st(2) allocate (ra1(5),stat=st(1)) allocate (ra2(5),stat=st(2))