>I am experiencing problems with a one line of code after upgrading from 3.0 to 6.0, and I think I know why, but can't solve it.
>
>The line is:
>
>mCommand = "WHOIS.EXE DRAGONMYR.COM > C:\TEMP\TEMP.TXT"
>Run /N &mCommand
>
>This works fine when I change the default directory to a drive letter that the network drive is mapped to; it does not work if I change the default directory to a network path.
>
>ie. works with
>Set default to D:\
>but not with
>Set default to "\\SERVER1\CUSTOMER MANAGER"
>
>What it does wrong is, it tries to execute the > C:\temp\temp.txt as more command parameters, rather than a DOS pipe.
>
>So, as the DOS window whips past, I see it execute
>
>WHOIS DRAGONMYR.COM
>
>which works fine, but then it tries
>
>WHOIS >
>
>which yields an error, then
>
>WHOIS C:\TEMP\TEMP.TXT
>
>The really odd thing is, if I enter this line into the "RUN" box from the "Start" menu button in Win98, I get the same behavior!
>
>Any Windows gurus out there have a clue?
You might want to look at using the CreateProcess() API call to launch the application for you; first, it allows you to set the starting directory independently of how VFP has it's current SET DEFAULT, and second, the STARTUPINFO structure can contain a handle that can be used to redirect output directed to StdOutput to a file (essentially, you open a file with FOPEN() or FCREATE() and pass the handle returned in the hStdOutput member of the STARTUPINFO structure. You can also embed pipes in the command line passed as the second parameter (lpszCmdLine) to CreateProcess().
>
>Tina Robichaux
>Interland, Inc.