Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: How to execute dos commands from Perl

by GrandFather (Saint)
on May 31, 2012 at 06:54 UTC ( [id://973441]=note: print w/replies, xml ) Need Help??


in reply to How to execute dos commands from Perl

You need to get your story straight. Are you trying to run a DOS/Windows batch file, or are you trying to run a DOS/Windows executable? What operating system are you using? What have you tried and how did it fail?

Pretend we know nothing at all about what you are trying to do nor about the system you are trying to do it on. That shouldn't be too hard because it is actually the case - no pretence needed!

True laziness is hard work

Replies are listed 'Best First'.
Re^2: How to execute dos commands from Perl
by Poornima (Initiate) on May 31, 2012 at 06:57 UTC
    Hi, I am trying to execute a .NET exe from Perl script which should execute on dos prompt adn return the control back to perl script. The .NET exe would be sending fax to the users adn create a .done file, which would be read from the perl script after the execution.
      Then how come you say it was executed in a UNIX shell? Are you using Cygwin? Are you trying to execute a .Net program on UNIX?

      Just to be clear, by "dos prompt" and "dos commands" do you mean the Windows cmd.exe shell?

      IMHO, if you want to execute a .net program on windows, you should use someting like this:

      my $CmdNgen = "$fw20cmd\\ngen.exe"; my $ParmNgenPause = "ngen queue pause"; my $rc; $rc = ProcessItWin( $CmdNgen, $ParmNgenPause ); sub ProcessItWin { my ( $ProcessCmd, $ProcessParam ) = @_; my $ProcessObj = undef; #print "Start $ProcessCmd $ProcessParam\n"; my $rc = Win32::Process::Create( $ProcessObj, $ProcessCmd, $Pr +ocessParam, 0, NORMAL_PRIORITY_CLASS, q{.} ) or $rc = ErrorReport($ProcessCmd); my $pid = $ProcessObj->GetProcessID(); $ProcessObj->Wait(INFINITE); return $rc; } sub ErrorReport { my $cmd = shift; print "\n *** Error CreateProcess: Command=$cmd, ", Win32::For +matMessage( Win32::GetLastError() ), "\n"; return 0; }

      Also please read perldoc Win32::Process

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://973441]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2024-03-28 10:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found