Hola, Al momento de ejecutar la macro que mueve los archivos antiguos y solo deja los nuevo, me saca error: WARNING: In a call to the CATT function, the buffer allocated for the result was not long enough to contain the concatenation of all the arguments. The correct result would contain 265 characters, but the actual result might either be truncated to 200 character(s) or be completely blank, depending on the calling environment. The following note indicates the left-most argument that caused truncation. NOTE: Argument 4 to function CATT('move "','\\10.32.4.74'[12 de 200 caracteres mostrados],'" "','\\10.32.4.74'[12 de 102 caracteres mostrados],'"') at line 43 column 103 is invalid. ERROR: Shell escape is not valid in this SAS session. A continuación dejo el código /* MACRO MUEVE ARCHIVO ANTIGUO ******************************/ %macro move_old_files(ruta_origen, ruta_destino, archivo_reciente); data _null_; set file_list; if fullpath ne "&archivo_reciente" then do; command = catt('move "', fullpath, '" "', "&ruta_destino",'"'); rc = system(command); if rc = 0 then put "moved: " fullpath " to " "&ruta_destino"; else put "failed to move: " fullpath " to " "&ruta_destino"; end; run; %mend move_old_files; %move_old_files(&ruta_origen, &ruta_destino, &archivo_reciente);
... View more