[Newbies] OSProcess on Squeak 5.2/64 simple command failure: "del test.txt.

David T. Lewis lewis at mail.msen.com
Wed Jun 27 11:38:21 UTC 2018


The original problem you saw is probably due to deficiencies in OSProcess
on Windows (the Windows support is incomplete and not very useful overall).

But let me add a explanation to the solution that you found. In Squeak
you can delete the file like this:

  FileDirectory default deleteFileNamed: 'C:\MediaVault\BBC\test.txt'

The OSProcess version of this is a compatibility method that I wrote
in order to allow OSProcess to work on Cuis and Pharo in addition to
Squeak (I develop it in Squeak of course). For example, some of the
unit tests for OSProcess and CommandShell need to create temporary
test files and delete them. I can use "OSProcess deleteFileNamed:"
instead of "FileDirectory default deleteFileNamed:" to do this, and
that allows the unit tests to run on Squeak, Cuis, and Pharo.

For your own case, I would recommend just using the FileDirectory
method, because that is the simplest solution.

HTH,
Dave


On Tue, Jun 26, 2018 at 07:06:17PM -0700, John-Reed Maffeo wrote:
> Well here I am replying to my own post. I don't have a solution to the
> problem I reported, but I did find an alternative solution.
> 
> I used method finder to find methods with the #String 'delete' in them. The
> class  #OSProcess contains a method #deleteFileNamed:  which was just what
> I needed. Provide a fully qualified file name as the argument and it gets
> deleted. e.g. "OSProcess deleteFileNamed: 'C:\MediaVault\BBC\test.txt'"
> 
> I developed and tested this on 5.2-64 on Windows. 7
> 
> -jrm
> 
> 
> 
> On Tue, Jun 26, 2018 at 3:38 PM John-Reed Maffeo <jrmaffeo at gmail.com> wrote:
> 
> > This seems strange, when I run the command:
> > ExternalWindowsOSProcess command: 'del "C:\MediaVault\BBC\test.txt"'
> >
> > I get an error, with or without double quotes around the file name.
> >
> > It is strange because I use it three times in my method. The first two
> > invocations launch external programs with long command strings. They work
> > fine, but when I want to clean up, the process fails. The test case above,
> > executed from Workspace, fails consistently.
> >
> > It fails  in 5.2/64 and 5.2.32
> >
> > I have not tried it in older versions
> >
> > -------
> > Image
> > -----
> >
> > C:\Smalltalk\Squeak5.2alpha-18110-64bit-201804030952-Windows\Squeak5.2alpha-18110-64bit\Squeak5.2alpha-18110-64bit.1.image
> > Squeak5.2alpha
> > latest update: #18110
> > Current Change Set: BBCRR-RestartAt5.2alpha
> > Image format 68021 (64 bit)
> > -----
> >
> > -jrm
> >

> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners



More information about the Beginners mailing list