[R] Calling FING.EXE under RGui.EXE for windows.
Duncan Murdoch
murdoch at stats.uwo.ca
Sun Jan 10 14:39:16 CET 2010
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 <murdoch at stats.uwo.ca> 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 <murdoch at stats.uwo.ca>
>>> 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<ligges at statistik.tu-dortmund.de>:
>>>>>>
>>>>>>> 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<jschex at us.ibm.com>
>>>>>>>> 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
>>>>>>>>> JSchex at us.ibm.com
>>>>>>>>>
>>>>>>>>> [[alternative HTML version deleted]]
>>>>>>>>>
>>>>>>>>> ______________________________________________
>>>>>>>>> R-help at r-project.org 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.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> ______________________________________________
>>>>>>>> R-help at r-project.org 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.
>>>>>>>>
>>>>> ______________________________________________
>>>>> R-help at r-project.org 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.
>>>>>
>>
>
> ______________________________________________
> R-help at r-project.org 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.
>
More information about the R-help
mailing list