Directory: G:\FIN Credit Risk\Management
Mode LastWriteTime Length Name
---- ------------- ------ ----
da---- 7/8/2020 11:30 AM Auditorias
da---- 2/22/2021 12:37 PM Politicas y procedimientos
Directory: G:\FIN Credit Risk\Management\Auditorias
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/19/2017 11:42 AM autorizaciones
I have a file with the text above called management.dir.test.txt. I have the exact same file zipped in management.dir.test.txt.zip.
When I run:
filename tt zip "&franriv/management.dir.test.txt.zip" member="management.dir.test.txt";
data testing;
infile tt;
input;
length L $500;
L=_infile_;
retain dir;
aa=find(L, "D");
if index(L, "Directory")=5
then dir=substr(L, 17);
bb=find(L, 'Mode');
if index(L, 'Mode') ne 1 and substr(L, 50, 4) ne '----';
run;
I get this:
Notice: (1) Has weird characters and (2) incorrectly found first "D" in 10th position through index function.
But when I run:
data testing;
infile "&franriv/management.dir.test.txt";
input;
length L $500;
L=_infile_;
retain dir;
aa=find(L, "D");
if index(L, "Directory")=5
then dir=substr(L, 17);
bb=find(L, 'Mode');
if index(L, 'Mode') ne 1 and substr(L, 50, 4) ne '----';
run;
I get:
Notice (1) it properly located first 'D' in 5th position.
I already tried combinations of TERMSTR=CRLF, RECFM=N, missover and truncover, but can't figure out why first code does not work.
I constantly read in *.zip files in data steps through filename zip. I could read this specific file outside the zip, but I need to understand what's going on (maybe even fix it) if I am to trust filename zip in the future (or otherwise be prepared for the possibility that it could fail).
Thanks!
... View more