Article ID: 106203 - Last Review: November 1, 2006 - Revision: 3.1 FIND.EXE Does Not Return the Proper Errorlevel in Windows NT http://support.microsoft.com/kb/106203
/Henrik On Sun, Jan 10, 2010 at 5:39 AM, Duncan Murdoch <[email protected]> wrote: > Gabor Grothendieck wrote: >> >> I noticed this does work, i.e. it displays the requested help info, in >> Rgui on my Vista system: >> >> library(tcltk) >> .Tcl("exec find /?") >> > > Yes, here too. It stores the output in a tclObj, so it's doing what we want > to do. Anyone familiar with the Tcl source, and can spot the difference > between their exec and our system()? > > Duncan Murdoch >> >> On Sat, Jan 9, 2010 at 7:27 PM, Duncan Murdoch <[email protected]> >> wrote: >> >>> >>> On 09/01/2010 6:31 PM, Gabor Grothendieck wrote: >>> >>>> >>>> That doesn't explain why this returns character(o) even though we have >>>> launched a console for it: >>>> >>>> system("cmd /c C:\\windows\\system32\\find /?", intern = TRUE) >>>> >>> >>> I don't see any console launched. R redirects stdin and stdout (and >>> stderr, >>> I think), and it appears that Windows doesn't open a console. I do see a >>> console flash by if I do >>> >>> system('cmd /c c:/WINDOWS/system32/find.exe /?', wait=FALSE, >>> invisible=FALSE) >>> >>> but of course then we don't capture the output, so it's not very useful. >>> Looking at the source, the only case where we ask to create a console is >>> the combination "wait=FALSE, invisible=FALSE", but there might be >>> combinations of other options that make this a default. The MS >>> documentation says that a console will be created automatically for any >>> console application, but that doesn't appear to be happening. >>> >>> So I guess you could get find.exe to work by calling it from a batch file >>> with a "pause" at the end and using the wait=FALSE,invisible=FALSE >>> options. >>> >>> The above observations are in Win XP SP3, not anything newer. >>> >>> Duncan Murdoch >>> >>> >>>> >>>> On Sat, Jan 9, 2010 at 5:24 PM, Duncan Murdoch <[email protected]> >>>> wrote: >>>> >>>>> >>>>> On 07/01/2010 1:25 PM, Uwe Ligges wrote: >>>>> >>>>>> >>>>>> Argh. I see it as well. Will dig a lit tomorrow. >>>>>> >>>>> >>>>> I don't know exactly what's going on, but it looks as though it is >>>>> something >>>>> specific to the find.exe utility, e.g. maybe it is assuming that it's >>>>> being >>>>> run inside a console and reading CONIN$ or writing to CONOUT$ without >>>>> checking whether they can be opened. When you run it from Rterm, Rterm >>>>> is >>>>> in a console, which appears to be good enough. >>>>> >>>>> So it may be anyone who wants to use it will have to contact Microsoft >>>>> to >>>>> find out how... >>>>> >>>>> Duncan Murdoch >>>>> >>>>> >>>>>> >>>>>> Uwe >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On 07.01.2010 12:25, Gabor Grothendieck wrote: >>>>>> >>>>>>> >>>>>>> I get a problem with shell too: >>>>>>> >>>>>>> Under Rgui: >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> R.version.string >>>>>>>> >>>>>>> >>>>>>> [1] "R version 2.10.1 Patched (2010-01-01 r50884)" >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> system("C:\\windows\\system32\\find /?", intern = TRUE) >>>>>>>> >>>>>>> >>>>>>> character(0) >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> system("cmd /c C:\\windows\\system32\\find /?", intern = TRUE) >>>>>>>> >>>>>>> >>>>>>> character(0) >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> shell("C:\\windows\\system32\\find /?") >>>>>>>> >>>>>>> >>>>>>> Warning message: >>>>>>> In shell("C:\\windows\\system32\\find /?") : >>>>>>> 'C:\windows\system32\find /?' execution failed with error code 1 >>>>>>> >>>>>>> They all work, i.e. they give the required help message, under Rterm >>>>>>> and when I issue this from the Windows console it works: >>>>>>> C:\windows\system32\find /? >>>>>>> >>>>>>> >>>>>>> 2010/1/7 Uwe Ligges<[email protected]>: >>>>>>> >>>>>>>> >>>>>>>> On 07.01.2010 02:04, Gabor Grothendieck wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> If you have C:\Rtools\bin on your PATH note that it contains a >>>>>>>>> UNIX-like find utility that conflicts with the find utility in >>>>>>>>> Windows. If that is the problem then remove that from your PATH >>>>>>>>> and >>>>>>>>> then run the batch file. >>>>>>>>> >>>>>>>>> The batchfiles distribution at http://batchfiles.googlecode.com >>>>>>>>> has >>>>>>>>> utilities (Rgui.bat, R.bat, Rtools.bat, etc.) that will >>>>>>>>> automatically >>>>>>>>> add C:\Rtools\bin to your path temporarily or only while R is >>>>>>>>> running >>>>>>>>> so that you can leave it off your PATH. >>>>>>>>> >>>>>>>> >>>>>>>> I guess it's the use of system() rather than shell() that causes the >>>>>>>> problem. Under Windows, you have to use shell in order to start a >>>>>>>> command >>>>>>>> interpreter. >>>>>>>> >>>>>>>> Uwe Ligges >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Jan 6, 2010 at 6:51 PM, John Schexnayder<[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> This is sort of a strange bug. Not show stopping, but annoying. >>>>>>>>>> I >>>>>>>>>> was >>>>>>>>>> wondering if anyone else has noticed this and reported it before I >>>>>>>>>> submit >>>>>>>>>> a bug report. >>>>>>>>>> >>>>>>>>>> I noticed while running the RGui and attempting to debug one of my >>>>>>>>>> scripts >>>>>>>>>> that I encountered a Windows error informing me that "Find String >>>>>>>>>> [grep] >>>>>>>>>> Utility has encountered a problem and needs to close." It is >>>>>>>>>> being >>>>>>>>>> generated by a call to a DOS batch file which contains a call to >>>>>>>>>> Find.exe. >>>>>>>>>> It can be reproduced by simply typing "System("find")" in RGui. >>>>>>>>>> What I >>>>>>>>>> found strange is that I have been running this script daily >>>>>>>>>> without >>>>>>>>>> this >>>>>>>>>> problem for months. I now realize I never ran that portion of the >>>>>>>>>> script >>>>>>>>>> while in RGui.exe. It has always run in batch mode which is done >>>>>>>>>> by >>>>>>>>>> Rterm.exe. >>>>>>>>>> >>>>>>>>>> I have tried this on three separate machines now all running >>>>>>>>>> Windows >>>>>>>>>> XP >>>>>>>>>> SP3, with versions of R 2.8.1 and R 2.10.1 If executing >>>>>>>>>> "System("find") >>>>>>>>>> under RGui, an error window for the Find String Utility is >>>>>>>>>> generated >>>>>>>>>> and >>>>>>>>>> the command is not exectuted. If the same command is issued in >>>>>>>>>> Rterm >>>>>>>>>> the >>>>>>>>>> expected "FIND: Parameter format not correct" message is properly >>>>>>>>>> returned. >>>>>>>>>> >>>>>>>>>> It doesn't seem an important bug, but it could be the canary in >>>>>>>>>> the >>>>>>>>>> mine >>>>>>>>>> for a larger problem somewhere down the road. >>>>>>>>>> >>>>>>>>>> Re, >>>>>>>>>> John Schexnayder >>>>>>>>>> >>>>>>>>>> IBM Tape Manufacturing - Information Technology >>>>>>>>>> San Jose, CA 95138 >>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>>> [[alternative HTML version deleted]] >>>>>>>>>> >>>>>>>>>> ______________________________________________ >>>>>>>>>> [email protected] mailing list >>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>>>>>>>> PLEASE do read the posting guide >>>>>>>>>> http://www.R-project.org/posting-guide.html >>>>>>>>>> and provide commented, minimal, self-contained, reproducible code. >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> ______________________________________________ >>>>>>>>> [email protected] mailing list >>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>>>>>>> PLEASE do read the posting guide >>>>>>>>> http://www.R-project.org/posting-guide.html >>>>>>>>> and provide commented, minimal, self-contained, reproducible code. >>>>>>>>> >>>>>> >>>>>> ______________________________________________ >>>>>> [email protected] mailing list >>>>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>>>> PLEASE do read the posting guide >>>>>> http://www.R-project.org/posting-guide.html >>>>>> and provide commented, minimal, self-contained, reproducible code. >>>>>> >>> >>> >> >> ______________________________________________ >> [email protected] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

