2017-10-10 5 views
2

J'essaie de faire une somme de contrôle sur un fichier et je pensais que l'utilisation de la commande X était une bonne idée.Sortie pour enregistrer la sortie de CMD dans SAS?

x 'CertUtil -hashfile U:\Programs\test\example.xml MD5'; 

J'ai regardé tout le web pour savoir si je peux imprimer la sortie de cette SAS au journal, ou mieux encore au format PDF ODS, mais ne trouve rien.

J'ai exploré l'utilisation de l'instruction DM, mais encore une fois je ne sais pas si je peux utiliser CMD avec ceci. Comment imprimer la sortie CMD dans le journal SAS?

CODE FINAL APRÈS RÉPONSE

filename fn pipe "CertUtil -hashfile U:\Programs\test\example.xml MD5"; 

data _NULL_; 
infile fn MISSOVER DSD TRUNCOVER; 
input 
VAR1 $200. ; 
put _infile_; 
IF _N_ = 2 THEN CALL SYMPUT("HASH",VAR1); 
run; 
ods pdf text = "CheckSum for example.xml: &HASH"; 

Répondre

2

Vous pouvez utiliser le moteur de nom pipe au lieu d'une déclaration x:

filename fn pipe `CertUtil -hashfile U:\Programs\test\example.xml MD5'; 

data _null_; 
infile fn; 
input; 
put _infile_; 
run; 

Dans l'étape de données, le infile déclaration ex ecutes la commande système, l'instruction input lit dans la sortie de la commande une ligne à la fois et l'instruction put _infile_ écrit chaque ligne dans le journal.