LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (May 2008, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 16 May 2008 10:11:09 -0700
Reply-To:     Lou <lpogoda@HOTMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Lou <lpogoda@HOTMAIL.COM>
Organization: http://groups.google.com
Subject:      Re: Unnamed pipe - help needed
Comments: To: sas-l@uga.edu
Content-Type: text/plain; charset=ISO-8859-1

On May 16, 9:34 am, datan...@GMAIL.COM ("data _null_,") wrote: > I think I've found a work around using an "environment variable". My > example uses the sas viewer but I got the same problem you describe > > Stderr output: > 'C:\Program' is not recognized as an internal or external command, > operable program or batch file. > > before I tried this example that does work. > > options set=f '"C:\Documents and Settings\testing\SAS\charbase05.sas"'; > > data _null_; > string = '"C:\Program Files\SAS\SAS System Viewer\9.1\sv.exe"'||' %f%'; > rc = filename('indd',string,'pipe'); > put rc= string=; > run; > filename indd list; > data _null_; > infile indd; > run; > > to produce the following in the log.... > > 784 options set=f '"C:\Documents and Settings\testing\SAS\charbase05.sas"'; > 785 > 786 data _null_; > 787 string = '"C:\Program Files\SAS\SAS System Viewer\9.1\sv.exe"'||' %f%'; > 788 rc = filename('indd',string,'pipe'); > 789 put rc= string=; > 790 run; > > rc=0 string="C:\Program Files\SAS\SAS System Viewer\9.1\sv.exe" %f% > NOTE: DATA statement used (Total process time): > real time 0.00 seconds > cpu time 0.00 seconds > > 791 filename indd list; > NOTE: Fileref= INDD > Physical Name= "C:\Program Files\SAS\SAS System Viewer\9.1\sv.exe" %f% > 792 data _null_; > 793 infile indd; > 794 run; > > NOTE: The infile INDD is: > Unnamed Pipe Access Device, > PROCESS="C:\Program Files\SAS\SAS System Viewer\9.1\sv.exe" %f%, > RECFM=V,LRECL=256 > > NOTE: 0 records were read from the infile INDD. > > On 5/15/08, Lou <lpog...@hotmail.com> wrote: > > > > > On May 15, 12:16 pm, RolandRB <rolandbe...@hotmail.com> wrote: > > > On May 15, 6:00 pm, Lou <lpog...@hotmail.com> wrote: > > > > > I'm trying to use an unnamed pipe with Microsoft's File Checksum > > > > Integrity Verifier utility and running into a problem I can't figure > > > > out. > > > > > I execute the following code to establish the pipe: > > > > data _null_; > > > > string = '"O:\Utility Library\File Checksum Integrity Verifier > > > > \fciv.exe"' || ' ' || > > > > '"O:\Utility Library\File Checksum Integrity Verifier > > > > \readme.txt"'; > > > > rc = filename('indd', string, 'pipe'); > > > > put rc=; > > > > run; > > > > > That works OK - the log tells me that rc = 0, and I can see the file > > > > definition looks correct in the filename window. I can use the > > > > VIEWTABLE command to open SASHELP.VEXTFL, and I see the filename there > > > > as well. > > > > > From viewtable, if I highlight the Path Name and copy it with Control- > > > > C, then open a DOS window and paste the path into it, the command > > > > executes correctly - the DOS window shows: > > > > > C:\>"O:\Utility Library\File Checksum Integrity Verifier\fciv.exe" "O: > > > > \Utility L > > > > ibrary\File Checksum Integrity Verifier\readme.txt" > > > > // > > > > // File Checksum Integrity Verifier version 2.05. > > > > // > > > > 79ac8d043dc8739f661c45cc33fc07ac o:\utility library\file checksum > > > > integrity veri > > > > fier\readme.txt > > > > > C:\> > > > > > So far, so good - 79ac8d... is the checksum for the readme.txt file. > > > > But when I try to use the pipe in the following code: > > > > > data _null_; > > > > infile indd; > > > > input @1 allofit $255.; > > > > put allofit=; > > > > run; > > > > > The log shows the following error message insead of the checksum I'm > > > > after: > > > > > NOTE: The infile INDD is: > > > > Unnamed Pipe Access Device, > > > > > PROCESS="O:\Utility Library\File Checksum Integrity Verifier > > > > \fciv.exe" "O:\Utility Library\File Checksum Integrity > > > > Verifier\readme.txt", > > > > RECFM=V,LRECL=256 > > > > > Stderr output: > > > > 'O:\Utility' is not recognized as an internal or external command, > > > > operable program or batch file. > > > > > Obviously, the spaces in the path are causing a problem. Further > > > > experimentation shows that the problem is the spaces in the path to > > > > fciv.exe - if I move the executable to a location where there aren't > > > > any spaces in the path, everything works fine, even if there are > > > > spaces in the path to the readme.txt file. > > > > > Problem is, I can't reorganize the company's directory structure to > > > > accomodate this one utility. Anyone have any idea how to make this > > > > work? > > > > > If you're interested, the utility is freely downloadabe athttp://support.microsoft.com/kb/841290 > > > > > Thanks for your help. > > > > Lou > > > > Where you have spaces in file names you can put thee sections in > > > quotes or the whole file name in quotes. If quotes are expected in any > > > case then use an extra set of the other type of quote around the file > > > name. Try that and see if it works.- Hide quoted text - > > > > - Show quoted text - > > > I'm afraid I don't understand what you're getting at. I'd find it > > helpful if you could post an example of what you mean. > > > If you look at what I posted, you'll see that the fully qualified name > > of the executable is quoted with double quotes, as is the fully > > qualified name of the target. That quoting works just fine when > > executed in a DOS window, but fails in a pipe. Something's different > > about the pipe, and I don't know what it is.- Hide quoted text - > > - Show quoted text -

That works, though I don't see why it does and the stuff I posted doesn't. Many thanks Lou


Back to: Top of message | Previous page | Main SAS-L page