The simplest way is to get the bat file to pass %0% on the command-line to your perl script.

Getting the parent PID on Windows is not easy, but BrowserUk showed the way. To get the name of the bat file you need the Window Title, which is not included in the information returned from Win32::Process::Info. However, the tasklisk \V command does give it, the calling bat file is the final field (play with tasklist \V on cmd.exe if you are not familiar with the output). Here is my extension to BrowserUk's code:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Win32::Process::Info; my $pi = new Win32::Process::Info;; my @info = $pi->GetProcInfo( $$ ); my $ppid = $info[0]{ ParentProcessId }; # cdarke's addition from here # tasklist outputs a couple of lines of title junk first my ($tl_out) = (qx(tasklist /v /fi "PID eq $ppid"))[-1]; # The bat file name is the last "column" my $parent = (split /\s+/,$tl_out)[-1]; # $parent should now give the bat file name print "$parent\n";

In reply to Re: caller of perl script by cdarke
in thread caller of perl script by red_draign

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.