# $command_a should be the full path name # of the executable file. # $command_b should be the actual command. Your code: $ppc = Win32::Process::Create( $process, $command_a, #better? $full_path_to_cmd_exe $command_b, #better? $cmd_with_args 0, NORMAL_PRIORITY_CLASS, '.' ); Example from Win32::Process: $ppc = Win32::Process::Create( $ProcessObj, "C:/winnt/system32/notepad.exe", "notepad temp.txt", 0, NORMAL_PRIORITY_CLASS, "." );