http://qs321.pair.com?node_id=671086


in reply to Re: How print doc files in a row
in thread How print doc files in a row

Thanks!!;
below is my snippet:
my $dir; opendir ($dir, ".") or die "error!\n"; for my $file_name (readdir $dir) { next if $file_name =~ m/^\./; system("c:\\program\ files\\microsoft\ office\\office10\\winword.e +xe", "$file_name", "/q", "/n", "/mFilePrintDefault", "/mFileExit"); sleep 10; }

I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

Replies are listed 'Best First'.
Re^3: How print doc files in a row
by cdarke (Prior) on Feb 29, 2008 at 08:19 UTC
    Not sure if that was a typo, but you have some back-slashes missing from your system call, should be:
    system("c:\\program\\files\\microsoft\\office\\office10\\winword.exe", + "$file_name", "/q", "/n", "/mFilePrintDefault", "/mFileExit");
    One option to stop the windows showing is to run the program with the C API CreateProcess and set the SW_HIDE attribute to the main Window, unfortunately it looks like Win32::Process does not support that.:(
      No, he's trying to escaping spaces. Rather silly, though, since "\ " is the same thing as " ". Good thing, too, since Windows wouldn't understand "\" to mean space.

      If you wanted to hide the Window, you could use Win32::Process's CreateProcess instead of system.