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:         Thu, 15 May 2008 09:16:20 -0700
Reply-To:     RolandRB <rolandberry@HOTMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         RolandRB <rolandberry@HOTMAIL.COM>
Subject:      Re: Unnamed pipe - help needed
Comments: To:
Content-Type: text/plain; charset=ISO-8859-1

On May 15, 6:00 pm, Lou <> 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 at > > 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.

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