Re: Copy a file from one directory to another from a SAS program? #9


You got lots of suggestions for the use of the X statement.  Might I
suggest, instead, the use of the %sysExec statement.  This uses the
exact system command without the necessity of quoting the string like
you have to do with the X command.

%sysExec move c:\dir1\test.txt c:\dir2\ /y ;

Notice that we have no quotes.  Now, I often work with people who set up
directory structures that have embedded spaces in the folder names.  So
%sysExec allows me to code something like...

%sysExec move "\\server\the first dir\test.txt" "\\server\the second
dir\" /y ;

with the double-quotes that Windows wants.  I can very easily then move
to macro variables as my skills improve.

%let dir1 = \\server\the first dir ;
%let dir2 = C:\dir2 ;
%sysExec move "&dir1\test.txt" "dir2" /y ;

Now, if I'm already more advanced and am working in a macro which allows
use of the %if statement, I can use the system() function inside the
%sysFunc() function to enable error handling.  Something like...

%if ( %sysFunc( system( move "&dir1\test.txt" "dir2" /y ) ) gt 0 )
%then %do ;
        %put ERROR: text.txt was not moved from &dir1 to &dir2! ;
        %put ERROR- Processing was stopped for this macro. ;
        %return ;
%end ;

Of course, you will still want to use...

Options noXWait ;

Okay, I'll talk off my teacher hat!


Edward Heaton, Senior Systems Analyst,
Westat (An Employee-Owned Research Corporation),
1650 Research Boulevard, TB-286, Rockville, MD 20850-3195
Voice: (301) 610-4818                 Fax: (301) 294-2085

-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
Sent: Thursday, July 31, 2008 4:12 PM
Subject: Re: Copy a file from one directory to another from a SAS

Yes, that does work
X "move c:\dir1\test.txt c:\dir2\test.txt"

It is however, leaving open the DOS command window.   I tried:
X "exit";
and that did not work to close it.  Would anyone know how to close it?

  ----- Original Message -----
  Sent: Thursday, July 31, 2008 2:58 PM
  Subject: RE: Copy a file from one directory to another from a SAS

  If you know the file names, you can do the 'X' command at some point
  execute a system command to move the file:

  X "move /path/to/original /path/to/dest";

  If you are on Windows (probably, since you are using .xls).
  whatever command is native to your OS for moving files should work
  within your 'X' command.


  -----Original Message-----
  From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
  Sent: Thursday, July 31, 2008 2:05 PM
  Subject: Copy a file from one directory to another from a SAS program?

  Is there a way from SAS to copy a file from one directory to another?
  I am exporting 200+ sheets from an Excel 2007 workbook and there is
  sheet that I do not want to process like the others, so I'd like to
  it in my SAS program to another folder.

EdHeaton (665)
8/1/2008 1:12:06 PM 135620 articles. 1 followers. Post Follow

1 Replies

Similar Articles

[PageSpeed] 24
@Mary Thanks for raising that concern. I was trying to find a solution myself and 
you can solve your second problem by placing options NOXWAIT; in your program.
@Matt Thanks for your simple suggestion.
@Ed good but complicated for a simple task such the one Mary is asking for.
3/21/2013 12:50:31 PM
Similar artilces about - Re: Copy a file from one directory to another from a SAS program? #9:

Re: ot
A very good all purpose server product of this nature that I have extensi= ve=20 experience with is FirstClass ( * To join/leave the list, search archives, change list settings, * * etc., please visit * ...

Re: Out of Area Calls #17 (Robert Bonomi) writes: > pointed out that the law made *no* such provision for delay on an > -internally-maintained- list, and required that they update my > _customer_record_ with a note that 'customer has ordered us -never- to > make marketing calls to him', and the date/time. Three days later, > somebody "didn't read" the notes, and called me. I promptly demanded > a supervisor, had them read the account 'notes', and asked if they > wanted to pay the statutory $500 minimum, or if I needed to go to &g...

Windows nuisance character in .txt files
I ran into a problem last week with some Java code I have that read in a text file and parsed it up, and built some data structures. It had worked fine for 2 years, running on Win2K and previous WinXP machines, but on a new WinXP laptop failed (in front of customers, naturally), claiming that a well-formed input text file was ill-formed. The text file had been created with Notepad. I looked at the file with Emacs and found three initial characters that were outside the normal ASCII set. When I put some logging into the file parsing code (which reads the file UTF-8), I found a singl...

Re: Creating a new variable? #4
Hi, Yes, you can do it easily. This is one solution: Proc sort data=3DTab1; by Id; run; Data Tab1; set Tab1; by Id; retain INC 0; if first.Id then INC=3D0; Inc=3Dinc+1; run; Le 16:01 7/02/2006, vous avez =E9crit: >Hi > >I have alarge data set in which I have a unique ID, for each id there are= 49 >observations, now I want to create a new variable which would be equal to 1 >for first observation and increment in steps of 1 to 49 and then reset to 1 >and continue. is there a way of doing this? > >thanks > >Vj Alexandre BAUDRY Unit=E9...

RE: Question to Kerry Main
> -----Original Message----- > From: JF Mezei [] > Sent: June 30, 2007 8:31 PM > To: Info-VAX@Mvb.Saic.Com > Subject: Question to Kerry Main >=20 > Mr Main, your arguments on c.o.v. are often rebutted as part of normal > debating process. (And you rebutt other arguments with your own > responses). >=20 > In real life, do you also find customers and potential customers > having > similar questions ? Or do you conclude that we, in c.o.v. are a > sepcial > bunch living in a totally different universe without a clue...

Re: Really Frustrating -9628 Errors #2
On Thu, 2005-11-17 at 14:23 -0500, Adam Tauno Williams wrote: > We've written several Informix stored procedures that return MULTISET as > the type; the application than does a SELECT a,b,c FROM > TABLE({procedurename}({parameterlist...})). And these WORK!!! But only > for awhile, the next day, or after a couple of days suddenly they stop > working - and they haven't been changed. They simply start to bomb out > with a -9628 (type not found) error for any SQL statement like the > above. > We are using "IBM Informix Dynamic Server Version 10.00...

Re: String question #6
As Howard example shows the last observation passed incorrectly, Is there a reason why the third observation(123 12) did not pass incorrectly. Is that a length issue or something different? On Thu, 1 May 2008 09:50:19 -0400, Howard Schreier <hs AT dc-sug DOT org> <schreier.junk.mail@GMAIL.COM> wrote: >On Thu, 1 May 2008 08:16:37 -0400, Richard A. DeVenezia ><rdevenezia@WILDBLUE.NET> wrote: > >>Dominic Mitchell wrote: >>> input var1 var2 $6.; >>> cards; >>> 99 9982 >>> 998 998 >>> ; >> >>The INPUT statem...

Re: More SQL simplification
Roger: In your version of the query, SAS 'remerges' summarized values back to the original dataset. It actually works the same as the query that joins a view to the original dataset. The simpler form of the query does not in general across different flavors of SQL. Sig -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Roger Lustig Sent: Tuesday, September 14, 2004 7:12 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: More SQL simplification Pat: You've answered your own question! No reason you can't do a GROUP BY while selecting colum...

Re: question about data values #11
Howdy Toby - The V9 compress function has new useful modifiers to handle all numbers, all letters, typewriter characters etc. In this case D is for digits 0-9 and K is for Keep (rather than compress). 10 data _null_ ; 11 x = 'A1234' ; 12 y = input(compress(x,'','DK'),5.0); 13 put x= y= ; 14 run ; x=A1234 y=1234 regards as always - Paul Choate DDS Data Extraction (916) 654-2160 -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of toby dunn Sent: Monday, June 27, 2005 4:41 PM To: SAS-L@...

parsing .eml files
Does anyone know of a java library that will let me parse an .eml file and let me extract the attachments? Thanks Russ Russ, You can use JavaMail for this purpose. Best regards, Igor. wrote: > Does anyone know of a java library that will let me parse an .eml file > and let me extract the attachments? > > Thanks > Russ ( wrote in > Does anyone know of a java library that will let me parse an .eml > file and let me extract the attachments? > Javamail. See ...

This is an autoresponder. I'll never see your message. ...

split UTF-8 string to multi UTF8-file
Hi All I have one utf-8, I want split input file into multi UTF-8. Can I using str.substring to extract string ? When input file have BOM code, how to remove the BOM code ? import java.nio.charset.Charset ; import*; import java.lang.String; public class read_utf { public static void main(String[] args) { File aFile = new File("input.txt"); File oFileDetail = new File("input_det.html"); File oFileHeader = new File("input_hdr.html"); File oFileSKU = new File("input_sku.html"); try { System.out.println("Header"); ...

Re: How to obtain FrameTicks List from an existing Plot?
t = Range[5]; p = ListPlot[t, Frame -> True]; FrameTicks /. AbsoluteOptions[p] Bob Hanlon ---- Nasser Abbasi <> wrote: ============= I have a need to obtain the FrameTicks list from an existing plot. The reason I want to do this, is because I need to slightly modify the ticks, and then redraw the plot with the new Ticks. This would be much easier than having to generate the Ticks myself in the first place. This is an example: t = Range[5]; p = ListPlot[t, Frame -> True] But when I look at FullForm[p], I see no list would would look like the...

Re: [HP3000-L] Save and Re-Use a File Equation
Jay writes: > What I'd like to do is to save the file equation with the parameters the > user entered, and then re-use that file equation after the checks are > printed. Like this: > > 1. Enter printer name, etc for reports > 2. Submit job, which does: > a. file report;dev=<parameters from 1 above> > b. run program A > c. file print=checks;dev=lp;forms=mount checks > d. run program B to print checks > e. file report;dev=<parameters from 1 above> > f. run program C to create report to print on printer ...

Re: array label question #9
Here's another approach. conceptually similar to the previous posts..... data _null_; %let colmns = ; do yr = 2007,2008; do qtr = 1 to 4; do channel_cd = 1 to 3; do Incentive_Type = 1,2; call symput ('colmns', symget ('colmns') || ' ' || '_' || catx('_',yr,qtr,channel_Cd,Incentive_Type)); end; end; end; end; run; data transpose (drop = yr qtr channel_cd incentive_type contacts) ; format &colmns best32.; array all [2007:2008, 1:4, 1:3, 1:2] _all_; do until(last.indiv_id) ; set have; by indiv_id; all{yr,qtr,ch...

Why The Other Programs Don't Match Up!
Have you ever wondered why when you purchase most internet marketing programs you never see profits? The reason is they never give you the full package. They leave out the key ingredients to make your business successful. Maverick=92s Money Making program truly is one of the best I=92ve ever seen. Hours of video training is included to help guide you by almost putting you over the shoulder of a self-made millionaire. To make the deal even better, there=92s even a 60 day money back guarantee! Isn=92t that worth a better future for you or your family in today=92s tough economy? So what are you w...

Re: Question re Canon iP1500 #2
Been busy for a few days, so didn't get a chance to get back here. But need to ask about your message below. "zakezuke" <> wrote in message > > Do y ou mean I could fix the problem of the waste ink absorber myself? I > > thought you can't see it by just looking into the printer > > The waste counter you can reset with the service tool QY9-0066 as Tony > explained. You can get it here >

Re: own package doesnt work correctly?
Martin, Symbols like x and I are set up in the package`Private` context once you put the definition inside the package. So they won't match Global`x or Global`I in a notebook using the package. You could either add the Global` context to these symbols in the package, or better yet pass them as parameters to the rule. partintrulx[x_,I_]:= ..... David Park From: Martin [] Hello, I started to - try to - use packages written on my own, using the Notebook editor, marking the cells as initializa...

Re: Now That They're Mounted ... #9
Correct me if I'm wrong, but MPE does not provide automatic failover in the event a controller dies. Yes, you can connect 2 controllers, but one won't take over for the other in the event of failure. That's an important distinction to recognize. John Lee Vaske Computer Solutions At 03:35 PM 8/18/04 -0400, Gilles Schipper wrote: >At 03:20 PM 2004-08-18, you wrote: >>O.K. two brain farts. Can't have more than 7 logical drives. > > >The mod20 supports up to 8 luns or logical drives. > > >>And you can't split the SCSI, (and u...

Re: Apple's iPod Raises Bar For Digital Music Players
Hey- Check out this great site that is giving away totally FREE iPods! I've joined and I think you should as well. It's a completely legitimate offer, and this company has already given away $4 million in FREE stuff! All you have to do is join, complete an online offer, and refer friends to do the same. That's it! Here is my referral link. To help me get my iPod, click this exact link to join, or copy and paste it into a browser: Monty Solomon wrote: > Apple's iPod Raises Bar For Digital Music Players > By W...

Microsoft Hot Fix 919880 to reduce file size on save
FYI this hot fix is on the SW portel. This has 1/2 the size of some my files. Any good way of opening, ctrl-q, and saving folders of SW files? steve solid steve wrote: > FYI this hot fix is on the SW portel. This has 1/2 the size of some my > files. > > Any good way of opening, ctrl-q, and saving folders of SW files? > > steve Solidworks Task Scheduler? Would the file size reduction be different than from using Ecosqueeze? Bill "solid steve" <> wrote in message > ...

Re: Call System in UNIX #7 1547219
Dear SAS-L-ers, Michael D. Ross posted the following interesting question: > Hi All, > I'm having trouble with the following code in Unix. It > creates the "dump.txt" file in the specified directory; > however, it has 0 records in it. Any suggestions? > > > > %let progs = /temp/mydir; > > data _null_; > command= " ll &progs *.sas > &progs/dump.txt"; > call system (command); > run; > Michael, I see it! It appears that you are falling prey to a subtle problem in your DATA _NULL_ step. Your problem is with the spac...

Re: New to SAS #2
Here is a very good paper that covers "everything" about learning more about SAS. It lists many resources of varying types, including SAS-L: -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Sent: January 14, 2008 3:11 PM To: SAS-L@LISTSERV.UGA.EDU Subject: New to SAS I'm new to SAS and Data Extraction generally, does anyone have any hints, tips or advice that might be useful? I'm interested in: related websites, programming languages, programmes, b...

Re: Thanks Harry Re: SAS Data Step Qn.
Use Eric's solution, it's cleaner. -----Original Message----- From: []On Behalf Of Jeff Morison Sent: Tuesday, August 09, 2005 3:03 PM To: Droogendyk, Harry; SAS-L@LISTSERV.UGA.EDU Subject: Thanks Harry Re: SAS Data Step Qn. This worked out perfectly Harry, thanks very much. --- "Droogendyk, Harry" <harry.droogendyk@RBC.COM> wrote: > data a; > input HRN : CDATE : date7. STAGE : > start : stop; > format cdate date9.; > cards; > 609 21JUL03 2 307 ...

Re: OT:Boys,Its Cold Outside #15
>While at K I Sawyer AFB, 74-77, there was discussion of Northern Michigan >becoming a seperate state. They though it was a SUPERIOR idea. I remember that - I come from Northwestern Wisconsin, and as I recall it was Upper Penninsula Michigan and the Northern Wisconsin wanted to combine and form a new state. I think that they actually wanted to call the state "Superior". In the pre-cable days, the only television we could get in were Minnesota stations. Couldn't even get in the Packer games unless they were playing the Vikings. If you didn't know that ther...