[R] Calling FING.EXE under RGui.EXE for windows.
Gabor Grothendieck
ggrothendieck at gmail.com
Sun Jan 10 14:18:57 CET 2010
I noticed this does work, i.e. it displays the requested help info, in
Rgui on my Vista system:
library(tcltk)
.Tcl("exec find /?")
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.
>>>
>
>
More information about the R-help
mailing list