simple batch calling perl script

April 23, 2010 at 08:03:06
Specs: Windows Server 2003 SP1
I have such a simple problem but I can not resolve it and do not know where else to turn.

I have a simple automated batch script that calls a perl script to run daily.
When the script runs I get the error 'the system cannot find the path specified'
When I hit Return the script will in fact run, but then I can not automate the script to run if it requires human intervention.
Here's the contents of the .bat file:
call "c:\Perl\bin\perl.exe" "c:\perlscripts\perlname.pl"
Simple as that. I've checked the paths, the filename...I'm stumped. What have I overlooked?


Blossom


See More: simple batch calling perl script

Report •

#1
April 23, 2010 at 10:03:36
Try it without the quotes.

Or with neither quotes nor call.

[CALL is for BATs, not EXEs.]


=====================================
Helping others achieve escape felicity

M2


Report •

#2
April 23, 2010 at 12:13:47
Why are you using the batch file?

There's absolutely no reason to do that. Just execute the Perl script directly.


Report •

#3
April 25, 2010 at 14:34:00
I don't know how to set up a scheduled task to run a perl script.

Report •

Related Solutions

#4
April 25, 2010 at 14:40:23
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.


=====================================
Helping others achieve escape felicity

M2


Report •

#5
April 25, 2010 at 15:23:01
Thank you.
To be more specific, I can schedule tasks to do other operations, but I can not schedule a task to run this perl script. I don't know what I'm missing but the cmd prompt opens but the script doesn't run.

Report •

#6
April 25, 2010 at 16:47:54
And you think wrapping the script around a batch file will mysteriously solve your problems?

What environment settings does Perl require to run?


Report •

#7
April 26, 2010 at 02:56:31
To answer the initial question, the "the system cannot find the path specifie" may come from :

- the running of the .EXE file itself, which means it's a Perl provoked message, and you should check Perl error handling
- maybe there is another command in your BAT file, causing the error (or is it really that 1 line) ?
- maybe something is working in 8.3 syntax, try to use a directory in 8.3 syntax, like : call "c:\Perl\bin\perl.exe" "c:\perlsc~1\perlname.pl"


Report •

Ask Question