@rem = '--*-Perl-*-- @echo off perl -x "%~dpnx0" %* goto endofperl @rem '; #!/usr/local/bin/perl -w #line 8 my $line = $ENV{"LOGFOO"}; my $start=0; while (<>) { chomp; $start=1 if m|^:endofperl|; if ( $start and m|^::| ) { exit(0) if $_ eq '::'.$line; } } exit(1); # Not found __END__ Code to invoke is thus: set logfoo="%~dpnx0" %* call logfoo "%~dpnx0" if errorlevel 1 echo ::"%~dpnx0" %*>> "%~dpnx0" set logfoo= ... rest of batch script ... :endofperl